คำถามติดแท็ก programming-practices

Programming Practices เป็นวิธีที่ใช้กันทั่วไปหรือไม่ใช้กันทั่วไปในการพัฒนาซอฟต์แวร์ สิ่งเหล่านี้อาจรวมถึงสิ่งต่าง ๆ เช่นการพัฒนาแบบ Agile, Kanban, ทางลัดการเข้ารหัส ฯลฯ

10
การพิสูจน์ความถูกต้องของรหัสจะเป็นเรื่องสำคัญหรือไม่ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ทั้งหมดยกเว้นโปรแกรมที่น่ารำคาญที่สุดเต็มไปด้วยข้อบกพร่องและดังนั้นสิ่งที่สัญญาว่าจะลบออกนั้นมีเสน่ห์อย่างมาก ในขณะนี้การพิสูจน์ความถูกต้องเป็นรหัสมีความลับอย่างมากส่วนใหญ่เป็นเพราะการเรียนรู้อย่างยากลำบากและความพยายามพิเศษที่ใช้ในการพิสูจน์โปรแกรมที่ถูกต้อง คุณคิดว่าการพิสูจน์โค้ดนั้นจะเกิดขึ้นไหม?

3
เราควรเพิ่มนวกรรมิกไว้ใน structs หรือไม่?
เรามักจะใช้ c ++ structs เพื่อกำหนดโครงสร้างข้อมูลเมื่อเทียบกับคลาสซึ่งสามารถเป็นโมดูลที่สมบูรณ์พร้อมเมธอดสมาชิก ตอนนี้ลึกลงไปเรารู้ว่าพวกเขาทั้งสองเหมือนกัน (พูดอย่างหลวม ๆ ) ความจริงที่ว่าเรามักจะใช้ / รักษา structs เป็นข้อมูลหน่วยงานเท่านั้นสร้างความอยากนี้ที่เราไม่ได้เพิ่มตัวสร้างเริ่มต้นเช่นกัน แต่คอนสตรัคเตอร์นั้นยอดเยี่ยมอยู่เสมอพวกเขาทำให้สิ่งต่าง ๆ ง่ายขึ้นและช่วยกำจัดข้อผิดพลาด มันจะขมวดคิ้วถ้าเพิ่มตัวสร้างเริ่มต้นให้กับโครงสร้างข้อมูลของฉัน? การใช้Constructor ที่เป็นค่าเริ่มต้นยังทำให้โครงสร้าง Non-POD (ชนิดข้อมูลเก่าแบบเดิม) จัดทำตามเกณฑ์อื่น ๆ เพื่อให้สิ่งต่าง ๆ ในมุมมองพิจารณาตัวอย่างง่าย ๆ แต่ในความเป็นจริง struct จะใหญ่กว่ามาก struct method { char name[32]; float temperature; int duration; }; ทุกครั้งที่ฉันสร้างวิธีการฉันต้องกังวลเกี่ยวกับ (พูดน้อยที่สุด) ถ้าฉันลืมตั้งค่าบางอย่าง ลองนึกภาพฉันลืมที่จะตั้งค่าtemperatureและใช้วิธีการกับระบบซึ่งตอนนี้เป็นค่าสูงแบบสุ่มและทำให้เกิดการทำร้ายร่างกาย หรือฉันลืมที่จะตั้งค่าdurationและตอนนี้วิธีการใช้ตัวเองสำหรับช่วงเวลาสูงที่ไม่รู้จัก ทำไมฉันต้องรับผิดชอบในการเริ่มต้นวัตถุทุกครั้งแทนที่จะใช้ตัวสร้างซึ่งรับประกันได้หรือไม่

6
วิธีการกู้คืนจากการแยกเครื่อง จำกัด ?
คำถามของฉันดูเหมือนจะเป็นเรื่องวิทยาศาสตร์ แต่ฉันคิดว่ามันเป็นปัญหาที่พบบ่อยและนักพัฒนาที่มีประสบการณ์และโปรแกรมเมอร์หวังว่าจะมีคำแนะนำเพื่อหลีกเลี่ยงปัญหาที่ฉันพูดถึงในชื่อ Btw. สิ่งที่ฉันอธิบายร้องเป็นปัญหาจริงฉันพยายามแก้ปัญหาเชิงรุกในโครงการ iOS ของฉันฉันต้องการหลีกเลี่ยงค่าใช้จ่ายทั้งหมด โดยเครื่องสถานะ จำกัด ฉันหมายถึงสิ่งนี้> ฉันมี UI ที่มีปุ่มไม่กี่รัฐหลายเซสชันที่เกี่ยวข้องกับ UI นั้นและสิ่งที่ UI นี้แสดงถึงฉันมีข้อมูลบางอย่างที่แสดงค่าบางส่วนใน UI ฉันได้รับและจัดการทริกเกอร์ภายนอกบางอย่าง (แสดงโดยการเรียกกลับจากเซ็นเซอร์) ฉันทำแผนภาพสถานะเพื่อทำแผนที่สถานการณ์ที่เกี่ยวข้องให้ดีขึ้นและเป็นที่พึงปรารถนาใน UI และแอปพลิเคชันนั้น เมื่อฉันค่อยๆติดตั้งโค้ดแอปเริ่มทำงานมากขึ้นตามที่ควรจะเป็น อย่างไรก็ตามฉันไม่มั่นใจมากว่าจะแข็งแกร่งพอ ความสงสัยของฉันมาจากการเฝ้าดูกระบวนการคิดและการนำไปใช้ของฉันเอง ฉันมั่นใจว่าฉันมีทุกอย่างที่ครอบคลุม แต่ก็เพียงพอที่จะทำการทดสอบสัตว์เดรัจฉานใน UI และฉันก็รู้ได้อย่างรวดเร็วว่ายังมีช่องว่างในพฤติกรรม ... ฉันทำการปะแก้พวกเขา อย่างไรก็ตาม ในขณะที่แต่ละองค์ประกอบขึ้นอยู่กับพฤติกรรมจากการป้อนข้อมูลจากส่วนประกอบอื่น ๆ การป้อนข้อมูลบางอย่างจากผู้ใช้หรือแหล่งภายนอกทำให้เกิดห่วงโซ่ของเหตุการณ์เปลี่ยนแปลงสถานะ .. เป็นต้น ฉันมีองค์ประกอบหลายอย่างและแต่ละพฤติกรรมทำงานเช่นเดียวกับทริกเกอร์นี้ที่ได้รับเมื่อทริกเกอร์อินพุท -> และผู้ส่งวิเคราะห์ -> เอาท์พุทบางอย่าง (ข้อความการเปลี่ยนสถานะ) จากการวิเคราะห์ ปัญหาคือสิ่งนี้ไม่ได้มีการควบคุมตัวเองอย่างสมบูรณ์และส่วนประกอบของฉัน (รายการฐานข้อมูลสถานะเซสชันสถานะของปุ่มบางปุ่ม) ... สามารถเปลี่ยนแปลงอิทธิพลลบหรือแก้ไขนอกขอบเขตของเหตุการณ์หรือ สถานการณ์ที่พึงประสงค์ (โทรศัพท์ล่มแบตเตอรี่จะหมดทันทีเมื่อเปิดเครื่อง) …

2
จริงหรือไม่ที่“ โปรแกรมเมอร์จริงสามารถเขียนรหัสประกอบเป็นภาษาใด ๆ ได้”?
โปรแกรมเมอร์จริงสามารถเขียนรหัสประกอบในภาษาใด ๆ (Larry Wall) เท่าที่ฉันจะทำได้ Mr. Larry Wall พยายามพูดกับโปรแกรมเมอร์จริง ๆ ว่าภาษาใดก็ตามที่มีฟังก์ชันการทำงานเหมือนกับ ASM แต่ฉันไม่เข้าใจอย่างจริงจัง คุณจะเขียนโค้ดชุดประกอบในภาษาระดับสูงเช่น Perl, Python, Java และ C # ได้อย่างไร ภาษาอย่าง Perl และ Python ไม่มีแม้แต่พอยน์เตอร์ หรือเขาหมายถึงอย่างอื่น? นายวอลล์พยายามพูดอะไรจริงๆ

7
วิธีหลีกเลี่ยงการเขียนใหม่บางส่วนของแอปพลิเคชัน
ฉันทำงานที่ บริษัท แห่งหนึ่งในโครงการสำหรับฝ่ายขายของพวกเขา มันเป็นงานเขียนโปรแกรมมืออาชีพครั้งแรกของฉัน แต่ฉันเขียนโปรแกรมด้วยตัวเองและเรียนรู้มาหลายปี ส่วนหนึ่งของโครงการเกี่ยวข้องกับการรับข้อมูลบางส่วนและรวมเข้ากับอินพุตเพื่อผลิตและกราฟ จากนั้นบันทึกข้อมูล ... ไปเรื่อย ๆ ดังนั้นฉันจึงเขียนรหัสสำหรับสิ่งนี้ในเวลาไม่ถึงวัน ในวันถัดไปฉันแสดงหัวหน้าโครงการของฉันและเขาชอบ แต่ "จะเกิดอะไรขึ้นถ้าเรามีสิ่งนี้" และต้องการให้ฉันเพิ่มบางอย่างลงในกราฟ นี่ไม่ใช่การเปลี่ยนแปลงอย่างมากต่อรูปลักษณ์หรือฟังก์ชั่นของโปรแกรม แต่มันเปลี่ยนไปอย่างมากเมื่อฉันต้องการจัดเก็บข้อมูลประมวลผลและอื่น ๆ อีกครั้งฉันใช้เวลาประมาณหนึ่งวันในการปรับโครงสร้างตารางฐานข้อมูลอีกครั้งและเขียนรหัสใหม่ตั้งแต่เริ่มต้นเพื่อรองรับคำขอใหม่นี้ ฉันเอามันกลับไปหาเขาอีกครั้งและสิ่งเดียวกันก็เกิดขึ้น เขาขออย่างอื่นที่เปลี่ยนแปลงอย่างมากว่าฉันต้องการประมวลผลข้อมูล ดังนั้นฉันต้องเขียนมันอีกครั้ง ในที่สุดเขาก็เซ็นสัญญากับมันและหวังว่าฉันจะไม่ต้องเขียนมันอีกครั้ง เพียงแค่ชัดเจนฉันไม่ได้ทุบตีผู้จัดการของฉันหรืออะไรอย่างนั้น เขาเป็นคนที่ยอดเยี่ยมและสิ่งที่เขาขอไม่ได้อยู่นอกโลกพวกเขาไม่เข้ากับสิ่งที่ฉันทำไปก่อนหน้านี้ ฉันแค่สงสัยว่ามีอะไรที่ฉันสามารถทำได้ในอนาคตเพื่อหลีกเลี่ยงการเขียนใหม่ทั้งหมด ฉันเข้าใจการสร้างโค้ดที่ยืดหยุ่นและพยายามทำเช่นนั้น แต่ฉันต้องการรู้วิธีปฏิบัติหรือสิ่งต่าง ๆ ที่ฉันสามารถทำได้แตกต่างกันเพื่อทำให้สิ่งนี้ง่ายขึ้นดังนั้นในอนาคตฉันไม่ได้ใช้เวลา 3 วันกับสิ่งที่ น่าจะได้รับ 1.

2
เทคนิคการเขียนโปรแกรมนี้เรียกว่าอะไร?
ฉันเจอเทคนิคการเขียนโปรแกรมนี้ในขณะที่ทำการเขียนโปรแกรมจับคู่ในการสัมภาษณ์และไม่พบชื่อของมันใน google แนวคิดคือคุณเขียนนิพจน์ที่ใช้ตัวแปรก่อนแล้วจึงเขียนโค้ดที่คำนวณตัวแปรในภายหลัง วิธีใช้โค้ดตัวอย่างที่นี่: private bool ValidPolicyNumber(string policyNumber) { var hasExpectedPrefix = policyNumber.Substring(0,5) == "POLIC"; var followedBy7Digits = Regex.IsMatch(policyNumber.Substring(6,7), "^[0-9]{7}$"); var hasLengthOf12 = policyNumber.Length == 12; return hasExpectedPrefix && followedBy7Digits && hasLengthOf12; } เมื่อเขียนฟังก์ชั่นนี้โดยใช้เทคนิคที่ฉันพูดถึงคุณต้องเขียนบรรทัดสุดท้ายก่อนreturn hasExpectedPrefix && followedBy7Digits && hasLengthOf12;แล้วจึงเขียน 3 บรรทัดที่อยู่ข้างหน้า เทคนิคที่ใกล้เคียงที่สุดที่ฉันสามารถหาได้คือ "การคิดอย่างปรารถนา" และมาจาก SICP แต่เกี่ยวข้องกับการเรียกฟังก์ชั่นที่คุณจะนำไปใช้ในภายหลังแทนที่จะใช้ตัวแปรที่คุณจะเริ่มต้นในภายหลัง

2
มีคำสั่งการใช้ / นำเข้าจำนวนมากบ่งบอกถึงการออกแบบที่ไม่ดีหรือมีกลิ่นรหัสหรือไม่?
โดยปกติแล้วฉันเห็นข้อความสั่งจำนวนเล็กน้อยที่ด้านบนของไฟล์คลาส ตัวอย่าง: using System.Collections.Generic; using System.IO; using System.Xml.Linq; แต่ในโครงการฉันกำลังทำงานหลายต่อหลายครั้งฉันเห็นการใช้งาน / การนำเข้ามากกว่า 20 รายการในไฟล์คลาสเดียว นี่เป็นการออกแบบที่ไม่ดีหรือไม่? ดูเหมือนว่าคลาสที่ออกแบบมาเพื่อทำสิ่งหนึ่งควรพึ่งพาส่วนประกอบบางอย่างเท่านั้น

1
มีวิธีปฏิบัติที่เป็นมาตรฐานสำหรับการสั่งซื้อแอตทริบิวต์ในแท็ก HTML หรือไม่
ฉันกำลังทำงานในโครงการ AngularJS และคุณลักษณะต่าง ๆ มากมายในองค์ประกอบ HTML ของฉัน: <button type="submit" ng-click="Page.UI.DetailView.ExecuteFunction()" ng-disabled="step5.$invalid" class="btn btn-success pull-right"> Submit this Product </button> มีแบบแผนมาตรฐานสำหรับการสั่งซื้อคุณลักษณะเหล่านี้หรือไม่ ตามตัวอักษร? จัดกลุ่มตามความหมาย (เช่นคุณลักษณะเชิงมุมทั้งหมดเข้าด้วยกัน)? คุณลักษณะ HTML มาตรฐาน ("ประเภท" เป็นต้น) ก่อน?

6
ฟีเจอร์ของฟังก์ชั่นอะไรที่คุ้มค่ากับความสับสน OOP เล็กน้อยเพื่อประโยชน์ที่พวกเขานำมา?
หลังจากเรียนรู้การเขียนโปรแกรมที่ใช้งานได้ใน Haskell และ F # กระบวนทัศน์ OOP ดูเหมือนว่าจะย้อนกลับไปพร้อมกับคลาสอินเทอร์เฟซวัตถุ FP ด้านใดที่ฉันสามารถนำไปใช้ในการทำงานที่เพื่อนร่วมงานของฉันสามารถเข้าใจได้ สไตล์ FP ใด ๆ ที่ควรค่าแก่การพูดคุยกับเจ้านายของฉันเกี่ยวกับการฝึกสอนทีมของฉันใหม่ ลักษณะที่เป็นไปได้ของ FP: การเปลี่ยนไม่ได้ การประยุกต์ใช้บางส่วนและการแกง ฟังก์ชั่นชั้นหนึ่ง (ตัวชี้ฟังก์ชั่น / วัตถุการทำงาน / รูปแบบกลยุทธ์) การประเมินผลขี้เกียจ (และ Monads) ฟังก์ชั่นบริสุทธิ์ (ไม่มีผลข้างเคียง) นิพจน์ (เทียบกับข้อความ - แต่ละบรรทัดของโค้ดจะสร้างค่าแทนหรือนอกเหนือจากการทำให้เกิดผลข้างเคียง) recursion การจับคู่รูปแบบ มันเป็นฟรีสำหรับทุกสิ่งที่เราสามารถทำอะไรก็ได้ที่ภาษาโปรแกรมรองรับจนถึงขีด จำกัด ที่ภาษานั้นรองรับหรือไม่ หรือมีแนวทางที่ดีกว่า

6
มันเป็นวิธีปฏิบัติที่ไม่ถูกต้องหรือไม่ในการจัดเก็บข้อมูลเมตาดาต้าในชื่อไฟล์? ทางออกที่ดีกว่า
ฉันสังเกตว่าที่ที่คนทำงานกระตือรือร้นในการจัดเก็บข้อมูลในชื่อไฟล์และแยกวิเคราะห์ชื่อไฟล์ สำหรับฉันนี่ดูเหมือนจะไม่เป็นการปฏิบัติที่ดีโดยเฉพาะ ฉันได้เห็นปัญหาที่เกิดขึ้นเป็นครั้งคราวกับสคริปต์ที่ทำให้ไฟล์กลมกลืนและได้รับสิ่งที่ผิดเพราะอีกไฟล์หนึ่งตรงกันก่อนนอกจากนี้เรายังพูดคุยถึงวิธีการแก้ไขปัญหาเกี่ยวกับตัวคั่นสำหรับเขตข้อมูล ถือว่าเป็นการปฏิบัติที่ไม่ดีหรือไม่? โซลูชั่นอื่น ๆ ที่ได้รับการยอมรับสำหรับการดึงไฟล์จากระบบไฟล์โดยยึดตามข้อมูลเมตาบางประเภทคืออะไร?

2
ฉันควรกำหนดหน่วยการทดสอบอีกครั้งเมื่อฉันแยกคลาสออกจากระบบภายใต้การทดสอบหรือไม่
ฉันเขียนคลาสนี้ที่ทำบางสิ่ง (บางทีนี่อาจเป็นการละเมิดหลักการความรับผิดชอบเดี่ยว) ตอนนี้ฉันรู้แล้วว่าบางส่วนของโครงการต้องการตรรกะชิ้นหนึ่งและวิธีที่ฉันจะเปิดเผยก็คือการดึงคลาสออกจากระบบเดิมภายใต้การทดสอบของฉัน ฉันคาดหวังว่าจะสามารถทำได้โดยไม่ต้องเปลี่ยนรหัสทดสอบใด ๆ แต่เมื่อฉันเสร็จคุณสามารถยืนยันว่าการทดสอบไม่ใช่การทดสอบหน่วยอีกต่อไป มันจะทำการทดสอบคลาสเดิมและคลาสที่ฉันแยกออกมา กล่าวอีกนัยหนึ่งฉันจะมีหนึ่งกรณีทดสอบ แต่สองระบบภายใต้การทดสอบ ฉันควร refactor รหัสทดสอบของฉันหลังจากที่ฉันทำเสร็จแล้ว? IE: สร้าง ExtractedClassTest และย้ายการทดสอบที่เกี่ยวข้องทั้งหมดจาก OriginalClassTest ลงไปหรือไม่ ดูเหมือนว่าอาจมีความเสี่ยงเล็กน้อย: ฉันอาจสูญเสียความครอบคลุมบางส่วนในกระบวนการอาจไม่ง่ายเหมือนการย้ายการทดสอบและฉันสิ้นสุดการเขียนรหัสการทดสอบบางอย่างที่ฉันรู้ว่าเคยทำงาน แต่อาจไม่ได้อีกต่อไป เป็นต้น ในทางกลับกันถ้าฉันปล่อยให้ OriginalClassTest ตามเดิมฉันสามารถเห็นว่านี่เป็นปัญหาการบำรุงรักษาทดสอบ มันจะสับสนเล็กน้อยในการค้นหาที่การทดสอบของ ExtractedClass ความประทับใจแรกของคุณก็คือมันไม่มีอยู่จริง เมื่อเวลาผ่านไปด้วยการปรับโครงสร้างรหัสการผลิตจำนวนมากสิ่งนี้อาจกลายเป็นปัญหาร้ายแรง ฉันใหม่สำหรับ TDD ดังนั้นฉันต้องการคำแนะนำจากผู้เชี่ยวชาญ ขอบคุณ!

6
อะไรคือแนวคิดการเขียนโปรแกรมที่ฉันควรจะมีความเข้าใจอย่างลึกซึ้งเกี่ยวกับงานฝีมือของฉัน (การเขียนโปรแกรม)? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ตามลำดับความสำคัญหากเป็นไปได้ที่จะทำเช่นนั้นและอาจไม่ใช่สิ่งที่เป็นรากฐานที่สำคัญที่สุดในการรู้วิธีการเขียนโปรแกรม อัลกอริทึมการทำซ้ำการเรียกซ้ำ ฯลฯ ? โปรดทราบว่าที่ฉันใส่ ฯลฯ เป็นที่ที่คำถามของฉันอยู่ ฉันเพิ่งอ่านโพสต์ทางอินเทอร์เน็ตที่เขียนว่า 9 จาก 10 โปรแกรมเมอร์ไม่สามารถอ้าปากค้างโปรแกรมได้! http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html ฉันต้องการที่จะมีความรู้อย่างลึกซึ้งเกี่ยวกับสิ่งที่ฉันเป็นจริงพยายามที่จะบรรลุเมื่อการเขียนโปรแกรมและความเข้าใจที่ละเอียดถี่ถ้วนของเครื่องมือพื้นฐานในการกำจัดของฉัน โดยทั่วไปฉันต้องการที่จะสามารถวาดด้วยทุกสีของลม

2
วิธีที่ดีที่สุดสำหรับความคิดเห็นโค้ดอินไลน์คืออะไร
เรากำลังทำการปรับเปลี่ยนบางอย่างให้เป็น codebase เก่าแก่อายุ 20 ปีและฉันกำลังพูดคุยกับเพื่อนร่วมงานของฉันเกี่ยวกับรูปแบบความคิดเห็นในรหัส (plsql, java) ไม่มีรูปแบบเริ่มต้นสำหรับความคิดเห็น แต่ในกรณีส่วนใหญ่คนทำสิ่งนี้ในความคิดเห็น: // date (year, year-month, yyyy-mm-dd, dd/mm/yyyy), (author id, author name, author nickname) and comment รูปแบบที่เสนอสำหรับความคิดเห็นในอนาคตและในอดีตที่ฉันต้องการคือ: // {yyyy-mm-dd}, unique_author_company_id, comment เพื่อนร่วมงานของฉันบอกว่าเราต้องการเพียงความคิดเห็นเท่านั้นและต้องจัดรูปแบบความคิดเห็นทั้งในอดีตและอนาคตในรูปแบบนี้: // comment ข้อโต้แย้งของฉัน: ฉันพูดด้วยเหตุผลด้านการบำรุงรักษาสิ่งสำคัญคือต้องรู้ว่าเมื่อใดและใครทำการเปลี่ยนแปลง (แม้ข้อมูลนี้จะอยู่ใน SCM) รหัสกำลังมีชีวิตอยู่และด้วยเหตุนี้จึงมีประวัติ เนื่องจากไม่มีการเปลี่ยนแปลงวันที่มันเป็นไปไม่ได้ที่จะรู้ว่าเมื่อใดที่มีการเปลี่ยนแปลงเกิดขึ้นโดยไม่เปิดเครื่องมือ SCM และค้นหาในประวัติวัตถุที่ยาวนาน เนื่องจากผู้เขียนมีความสำคัญมากการเปลี่ยนแปลงของผู้เขียนมีความน่าเชื่อถือมากกว่าการเปลี่ยนแปลงของ authory เหตุผลความว่องไวไม่จำเป็นต้องเปิดและนำทางผ่านเครื่องมือ SCM ผู้คนจะกลัวที่จะเปลี่ยนบางสิ่งที่บางคนทำเมื่อ 15 ปีที่แล้วมากกว่าสิ่งที่เพิ่งถูกสร้างหรือเปลี่ยนแปลง เป็นต้น ข้อโต้แย้งของเพื่อนร่วมงานของฉัน: ประวัติอยู่ใน SCM …

8
คุณควรสัญญาว่าจะส่งมอบฟีเจอร์ที่คุณไม่แน่ใจว่าจะใช้งานได้หรือไม่?
ในบทความจาก HNฉันพบคำแนะนำต่อไปนี้: บอกลูกค้า / ผู้ใช้เสมอว่า "ใช่" แม้ว่าคุณจะไม่แน่ใจ 90% ของเวลาคุณจะพบวิธีที่จะทำ 10% ของเวลาคุณจะกลับไปและขอโทษ ราคาเล็ก ๆ สำหรับการเติบโตส่วนบุคคลที่สำคัญ แต่ฉันคิดเสมอว่าเราควรทำการวิเคราะห์ความเป็นไปได้ก่อนทำสัญญาใด ๆ กับลูกค้า / ผู้ใช้เพื่อที่พวกเขาจะไม่ถูกเข้าใจผิดในทุกจุด ในกรณีใดคำแนะนำข้างต้นควรมีผลบังคับใช้ในกรณีใดบ้าง

9
ความรู้เกี่ยวกับการเขียนโปรแกรมของคุณลดลงหรือไม่ถ้าคุณไม่ฝึก? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเป็นโปรแกรมเมอร์มือใหม่ ฉันเรียนภาษาเช่น C, C ++, Python และ Java (เน้นที่ C ++ เป็นหลัก) ฉันเป็นสิ่งที่คุณเรียกว่า "เด็กและไม่มีประสบการณ์" และฉันยอมรับว่าเพราะฉันไม่สามารถเรียกร้องเป็นอย่างอื่น ในฐานะนักเรียนฉันมีปัญหาอื่น ๆ อีกมากมายนอกเหนือจากการเขียนโปรแกรม ฉันฝึกเขียนโปรแกรมบ่อยเท่าที่จะทำได้และโดยเฉพาะอย่างยิ่งเพราะครูของฉันให้แบบฝึกหัดมากกว่าชั้นเรียนอื่น ๆ (มันอยู่ในระดับต่ำมาก) ดังนั้นบ่อยครั้งฉันจึงใช้เวลาหลายสัปดาห์ในการทำสิ่งอื่นเช่นโครงการโรงเรียนหรือกีฬา การเดินทางอะไรนอกเหนือจากการเขียนโปรแกรม อย่าเข้าใจฉันผิดฉันรักการเขียนโปรแกรม ฉันชอบที่จะสร้างโค้ดที่ใช้งานได้เพื่อดูว่าโปรแกรมมีชีวิตขึ้นมาเพียงแค่กดปุ่มและเรียนรู้ให้มากที่สุดเท่าที่จะทำได้ สิ่งคือฉันไม่ได้มีเวลามากสำหรับมัน ตรงไปที่คำถามตอนนี้: ความรู้การเขียนโปรแกรมของคุณลดลงเมื่อเวลาผ่านไปและคุณไม่ได้ฝึกหรือไม่? คุณอาจถามว่า "คุณหมายถึงเวลาเท่าไหร่" ฉันไม่ได้หมายถึงจำนวนเวลาที่เฉพาะเจาะจง แต่สำหรับการอ้างอิงคุณสามารถใช้ตัวอย่างเป็นเดือนสองหรือปี ตามความรู้ฉันหมายถึงทุกอย่างจากไวยากรณ์ไปจนถึงการใช้ภาษา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.