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

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

3
ความหมายของ 'การติดต่อกันสูง' คืออะไร?
ฉันเป็นนักเรียนที่เพิ่งเข้าร่วม บริษัท พัฒนาซอฟต์แวร์เพื่อฝึกงาน กลับไปที่มหาวิทยาลัยอาจารย์คนหนึ่งของฉันเคยบอกว่าเราต้องพยายามให้ได้ "การมีเพศสัมพันธ์ต่ำและการทำงานร่วมกันสูง" ฉันเข้าใจความหมายของการมีเพศสัมพันธ์ต่ำ มันหมายถึงการเก็บรหัสของส่วนประกอบแยกต่างหากเพื่อให้การเปลี่ยนแปลงในที่เดียวไม่ทำลายรหัสในที่อื่น แต่สิ่งที่มีความหมายโดยการทำงานร่วมกันสูง ถ้ามันหมายถึงการรวมส่วนประกอบต่าง ๆ ของส่วนประกอบเดียวกันเข้าด้วยกันฉันไม่เข้าใจว่ามันจะมีประโยชน์อย่างไร การรวมกันสูงหมายถึงอะไร ตัวอย่างสามารถอธิบายให้เข้าใจถึงประโยชน์ของมันได้หรือไม่

2
REST API ตามบทบาทหรือไม่
ฉันกำลังสร้าง REST API ซึ่งผู้ใช้หลายคนที่มีบทบาทที่แตกต่างกันจะสามารถเข้าถึงทรัพยากรที่มีอยู่ เพื่อให้ขอบเขตง่ายขึ้นขอโดเมน "นักเรียน / ครู / ชั้นเรียน": GET /students เป็นทรัพยากรที่จะเข้าถึง ผู้ใช้อาจมีบทบาทเช่นนักเรียนและ / หรืออาจารย์ นักเรียนจะสามารถเข้าถึงนักเรียนของชั้นเรียนของพวกเขาเท่านั้น ครูจะสามารถเข้าถึงนักเรียนของชั้นเรียนที่พวกเขาสอน การใช้งานบางอย่างอาจเป็นนักเรียนและสอนชั้นเรียนอื่น ๆ ด้วย พวกเขาจะต้องสามารถเข้าถึงนักเรียนของชั้นเรียนของพวกเขาและนักเรียนของชั้นเรียนที่พวกเขาสอน นึกคิดฉันต้องการที่จะใช้สิ่งนี้เป็นสองฟังก์ชั่น - หนึ่งต่อบทบาทและจากนั้น "สหภาพ" ถ้าผู้ใช้มีหลายบทบาท คำถามของฉันคือฉันควรใช้รูปแบบใดในการดำเนินการนี้ อย่างผิวเผิน ฉันควรแยก API ต่อบทบาทของฉันหรือไม่ GET /teacher/studentsและGET /student/studentsดูเหมือนจะไม่ถูกต้องสำหรับฉัน เก็บทุกอย่างฉันเป็นแหล่งข้อมูลเดียว (แนะนำ) ภายใน ควรนำไปใช้ภายในอย่างไร ทุกวิธีควรเริ่มต้นด้วยสวิตช์ขนาดใหญ่ / ต่อบทบาทหรือไม่ ฉันควรใช้ที่เก็บต่อบทบาทหรือไม่ มีรูปแบบการออกแบบที่จะช่วยฉันในการบรรลุเป้าหมายนี้หรือไม่? ตามความเห็นด้านข้าง: ฉันใช้ASP.NET Web APIและEntity Framework 6แต่จริงๆแล้วมันไม่สำคัญสำหรับการนำแนวคิดไปใช้

2
ความแตกต่างระหว่าง function () และ function (void) คืออะไร?
ฉันเคยได้ยินว่ามันเป็นวิธีปฏิบัติที่ดีในการเขียนฟังก์ชั่นที่ไม่ได้รับอะไรเป็นพารามิเตอร์เช่นนี้: int func(void); แต่ฉันได้ยินว่าวิธีที่ถูกต้องในการแสดงออกเช่นนี้: int func(); ความแตกต่างระหว่างการประกาศฟังก์ชั่นทั้งสองนี้ในทั้ง C และ C ++ คืออะไร?

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

9
ทางเลือกในรูปแบบซิงเกิล
ฉันได้อ่านความคิดเห็นที่แตกต่างกันเกี่ยวกับรูปแบบซิงเกิล บางคนยืนยันว่าควรหลีกเลี่ยงค่าใช้จ่ายและอื่น ๆ ที่สามารถเป็นประโยชน์ในบางสถานการณ์ สถานการณ์หนึ่งที่ฉันใช้ singletons คือเมื่อฉันต้องการโรงงาน (สมมติว่าวัตถุประเภท f) เพื่อสร้างวัตถุของคลาส A แน่นอนโรงงานถูกสร้างขึ้นครั้งเดียวโดยใช้พารามิเตอร์การกำหนดค่าบางอย่างจากนั้นจะใช้แต่ละครั้งที่วัตถุของ พิมพ์ A ถูกสร้างขึ้น ดังนั้นทุกส่วนของรหัสที่ต้องการอินสแตนซ์ A ดึงค่าซิงเกิลตันและสร้างอินสแตนซ์ใหม่เช่น F& f = F::instance(); boost::shared_ptr<A> a = f.createA(); ดังนั้นสถานการณ์ทั่วไปของฉันก็คือ ฉันต้องการอินสแตนซ์เดียวของคลาสอย่างใดอย่างหนึ่งด้วยเหตุผลการปรับให้เหมาะสม (ฉันไม่ต้องการวัตถุหลายโรงงาน) หรือสำหรับการแบ่งปันสถานะทั่วไป (เช่นโรงงานทราบจำนวนอินสแตนซ์ของ A ที่ยังคงสามารถสร้างได้) ฉันต้องการวิธีการเข้าถึง f ของอินสแตนซ์นี้ในสถานที่ต่าง ๆ ของรหัส ฉันไม่สนใจในการอภิปรายว่ารูปแบบนี้ดีหรือไม่ดี แต่สมมติว่าฉันต้องการหลีกเลี่ยงการใช้ซิงเกิลตันฉันสามารถใช้รูปแบบอื่นแบบใดได้บ้าง แนวคิดที่ฉันมีคือ (1) นำวัตถุของโรงงานออกจากรีจิสตรีหรือ (2) เพื่อสร้างโรงงานในบางช่วงระหว่างการเริ่มต้นโปรแกรมแล้วส่งโรงงานเป็นพารามิเตอร์ ในโซลูชัน (1) ตัวรีจิสตรีนั้นเป็นซิงเกิลดังนั้นฉันเพิ่งเปลี่ยนปัญหาการไม่ใช้ซิงเกิลตันจากโรงงานไปยังรีจิสตรี ในกรณี (2) …

11
การใช้ภาษาที่ บริษัท ของคุณไม่รองรับสำหรับงานบางอย่างใช่ไหม
ฉันทำงานให้กับ บริษัท ที่รองรับหลายภาษา: COBOL, VB6, C # และ Java ฉันใช้ภาษาเหล่านั้นสำหรับงานหลักของฉัน แต่ฉันมักพบว่าตัวเองเขียนโปรแกรมเล็ก ๆ น้อย ๆ (เช่นสคริปต์) ใน Python เพราะฉันพบว่ามันเป็นเครื่องมือที่ดีที่สุดสำหรับงานประเภทนั้น ตัวอย่างเช่นนักวิเคราะห์ให้ไฟล์ CSV ที่ซับซ้อนแก่ฉันเพื่อเติมข้อมูลบางตาราง DB ดังนั้นฉันจะใช้ Python ในการแยกวิเคราะห์และสร้างสคริปต์ DB มีปัญหาอะไร? ปัญหาหลักที่ฉันเห็นคือบางส่วนของสคริปต์รวดเร็วและสกปรกเหล่านี้กำลังได้รับความสำคัญอย่างช้าๆและ: บริษัท ของฉันไม่รองรับ Python พวกเขาไม่ได้ควบคุมเวอร์ชัน (ฉันสำรองข้อมูลไว้ในอีกทางหนึ่ง) เพื่อนร่วมงานของฉันไม่รู้จัก Python นักวิเคราะห์เริ่มอ้างอิงจากอีเมล ("เปิดสคริปต์ที่ส่งออก ... ") ดังนั้นพวกเขาจึงต้องการบ่อยกว่าที่ฉันคิดไว้ในตอนแรก ฉันควรเพิ่มว่าสคริปต์เหล่านี้เป็นเพียงสาธารณูปโภคที่ไม่ได้เป็นส่วนหนึ่งของโครงการหลัก พวกเขาเพียงช่วยในการทำงานที่ไม่สำคัญในเวลาที่น้อยลง สำหรับงานเล็ก ๆ ของฉันพวกเขาช่วยได้มาก กล่าวโดยย่อถ้าฉันเป็นผู้ชนะลอตเตอรีที่ประสบอุบัติเหตุผู้ร่วมงานของฉันจะต้องทำให้โครงการมีชีวิตโดยปราศจากสคริปต์เหล่านั้น พวกเขาจะใช้เวลามากขึ้นในการแก้ไขข้อผิดพลาด CSV ด้วยมือตัวอย่างเช่น นี่เป็นสถานการณ์ทั่วไปหรือไม่ …

2
วิธีการทำเอกสารสำหรับรหัสและทำไมซอฟต์แวร์ (มักจะ) เอกสารไม่ดี?
มีตัวอย่างที่ดีของรหัสที่มีเอกสารที่ดีเช่น java api แต่รหัสจำนวนมากในโครงการสาธารณะเช่นโครงการคอมไพล์และโครงการภายในของ บริษัท นั้นได้รับการบันทึกไว้ไม่ดีและไม่เป็นมิตรกับผู้มาใหม่ ในการ จำกัด การพัฒนาซอฟต์แวร์ทั้งหมดของฉันฉันต้องจัดการกับรหัสที่มีเอกสารไม่ดี ฉันสังเกตเห็นสิ่งต่าง ๆ ต่อไปนี้ - ความคิดเห็นน้อยหรือไม่มีเลยในรหัส ชื่อเมธอดและตัวแปรไม่ได้อธิบายตัวเอง มีเอกสารเพียงเล็กน้อยหรือไม่มีเลยว่าโค้ดเข้ากับระบบหรือกระบวนการทางธุรกิจได้อย่างไร จ้างนักพัฒนาที่ไม่ดีหรือไม่ให้คำปรึกษากับคนที่ดี พวกเขาไม่สามารถเขียนโค้ดที่ง่ายและสะอาดได้ ดังนั้นจึงเป็นเรื่องยากหรือเป็นไปไม่ได้สำหรับทุกคนรวมถึงผู้พัฒนาที่จะจัดทำเอกสารรหัส เป็นผลให้ฉันต้องผ่านรหัสจำนวนมากและพูดคุยกับคนจำนวนมากเพื่อเรียนรู้สิ่งต่าง ๆ ฉันรู้สึกว่านี่เป็นการเสียเวลาของทุกคน นอกจากนี้ยังสร้างความต้องการเซสชันการถ่ายโอน KT / ความรู้สำหรับผู้มาใหม่ไปยังโครงการ ฉันได้เรียนรู้ว่าเอกสารไม่ได้รับความสนใจเนื่องจากมีเหตุผลดังต่อไปนี้: ความเกียจคร้าน นักพัฒนาไม่ต้องการทำอะไรนอกจากรหัส งานรักษาความปลอดภัย. (หากไม่มีใครสามารถเข้าใจรหัสของคุณได้อย่างง่ายดายคุณอาจไม่สามารถเปลี่ยนได้อย่างง่ายดาย) กำหนดเวลาที่ยากลำบากทำให้เสียเวลาเล็กน้อยในการจัดทำเอกสาร ดังนั้นฉันสงสัยว่าจะมีวิธีการส่งเสริมและบังคับใช้แนวทางปฏิบัติด้านเอกสารที่ดีใน บริษัท หรือโครงการหรือไม่ กลยุทธ์ที่จะใช้ในการสร้างเอกสารที่เหมาะสมสำหรับระบบและรหัสของโครงการใด ๆ โดยไม่คำนึงถึงความซับซ้อนของมันคืออะไร? มีตัวอย่างที่ดีหรือไม่เมื่อจำเป็นต้องใช้เอกสารน้อยที่สุดหรือไม่ IMHO ฉันรู้สึกว่าเราควรมีการตรวจสอบเอกสารหลังจากส่งมอบโครงการแล้ว หากไม่ใช่เรื่องง่ายกระชับเป็นตัวอย่างและเป็นมิตรต่อผู้ใช้วิศวกรหรือนักพัฒนาเอกสารด้านเทคนิคจะเป็นผู้รับผิดชอบและทำการแก้ไข ฉันไม่คาดหวังว่าผู้คนจะทำเอกสารรีมไม่หวังว่ามันจะเป็นมิตรกับผู้ใช้เหมือนกับหนังสือเล่มแรก แต่ฉันหวังว่ามันจะช่วยลดความจำเป็นในการวิเคราะห์ชั่วโมงและช่วงเวลา KT ที่สิ้นเปลือง มีวิธีที่จะจบหรือบรรเทาความบ้าคลั่งนี้หรือไม่? "การพัฒนาเอกสารขับเคลื่อน" อาจจะ?

2
ช่วงความสลับซับซ้อนของวัฏจักร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ประเภทของความซับซ้อนตามวัฏจักรคืออะไร? ตัวอย่างเช่น: 1-5: บำรุงรักษาง่าย 6-10: ยาก 11-15: ยากมาก 20+: ใกล้จะเป็นไปไม่ได้ เป็นเวลาหลายปีแล้วที่ฉันได้ไปโดยมีข้อสันนิษฐานว่า 10 ข้อ จำกัด และสิ่งอื่น ๆ นอกเหนือจากนั้นไม่ดี ฉันกำลังวิเคราะห์วิธีแก้ปัญหาและฉันพยายามกำหนดคุณภาพของรหัส ความซับซ้อนตามวัฏจักรแน่นอนไม่ได้วัดเพียง แต่มันสามารถช่วย มีวิธีการที่มีความซับซ้อนของวงจร 200+ ฉันรู้ว่ามันแย่มาก แต่ฉันอยากรู้เกี่ยวกับช่วงล่างเช่นในตัวอย่างด้านบน ฉันพบสิ่งนี้ : ค่าอ้างอิงดังกล่าวจาก Carnegie Mellon กำหนดช่วงคร่าวๆสี่ค่าสำหรับค่าความซับซ้อนของวงจร: วิธีการระหว่าง 1 ถึง 10 ถือว่าง่ายและเข้าใจง่าย ค่าระหว่าง 10 ถึง 20 แสดงถึงรหัสที่ซับซ้อนกว่าซึ่งอาจยังเข้าใจได้ อย่างไรก็ตามการทดสอบจะยากขึ้นเนื่องจากจำนวนสาขาที่เป็นไปได้มากขึ้นที่รหัสสามารถทำได้ ค่า 20 …

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

7
ข้อดีและข้อเสียของ HTML5 แนวทางแอพมือถือแบบเนทีฟและไฮบริดคืออะไร
ฉันต้องการพัฒนาแอปพลิเคชั่นมือถือ ฉันเพิ่งอ่านบทความในTelerik Forumซึ่งเปรียบเทียบกับแอปพลิเคชั่นมือถือสามประเภทและฉันไม่รู้ว่าควรเริ่มต้นจากที่ใด นี่คือรูปภาพที่อธิบายข้อดีข้อเสียของตัวเลือกการออกแบบมือถือที่แตกต่างกัน ในการตัดสินใจระหว่างตัวเลือกการออกแบบเหล่านี้ฉันต้องการทำความเข้าใจข้อดีข้อเสียของตัวเลือกสถาปัตยกรรมแต่ละตัวที่ระบุไว้ในแผนภาพ ข้อดีและข้อเสียของสถาปัตยกรรมแต่ละวิธีมีอะไรบ้าง

12
อุตสาหกรรมไม่มีที่สำหรับโปรแกรมเมอร์ที่กระตือรือร้น? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันฝึกงานในสถานที่ที่ผู้จัดการของฉันเชื่อว่าถ้าคุณอยู่ใน บริษัท ผลิตภัณฑ์โดยทั่วไปคุณจะใช้เวลาปรับแต่งผลิตภัณฑ์และบางครั้งก็เพิ่มคุณสมบัติบางอย่างหรือ บริษัท ที่ให้บริการจากนั้นคุณทำสิ่งที่ซ้ำ ๆ ซึ่งทำให้ฉันรู้สึกว่าอุตสาหกรรมไม่มีที่สำหรับคนที่ชอบทำข่าวและแก้ปัญหาที่ยาก ดังนั้นอุตสาหกรรมไม่ใช่สถานที่สำหรับโปรแกรมเมอร์ที่มีความหลงใหลหรือไม่? สิ่งนี้เปลี่ยนจากเมืองหนึ่งไปอีกเมืองหนึ่งหรือไม่? อัปเดตเพื่อล้างบางสิ่งที่สามารถเข้าใจได้แตกต่างจากที่ตั้งใจไว้ การปรับแต่งที่นี่คือการทำให้แน่ใจว่าผลิตภัณฑ์ของคุณมีตารางที่มีจำนวนแถวและคอลัมน์ที่ลูกค้าต้องการ ฯลฯ ปรับแต่งสำหรับลูกค้า ใหม่ "คุณสมบัติ" ไม่ใช่ฟังก์ชั่นใหม่ที่นี่ เพียงแค่การเปลี่ยนแปลงระดับสุนทรียศาสตร์ และบางครั้งก็เป็น ฉันไม่แน่ใจว่าสิ่งที่เขาหมายถึงซ้ำโดย เขาเป็นเหมือนคุณต้องสร้าง UI ซ้ำแล้วซ้ำอีกทุกครั้ง (ฉันไม่เห็นว่ามีการทำซ้ำหากจำเป็นต้องใช้UI ที่แตกต่างจากนั้นจำเป็นต้องออกแบบUI อื่นหากคุณสามารถใช้อันเก่าได้คุณก็ไม่จำเป็นต้องทำอะไรอีกแล้ว)

8
คุณเปลี่ยนความถูกต้องของ const ได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา หลังจาก 15 ปีของ C ++ ฉันยังไม่ได้เรียนรู้ที่จะรักโดยใช้ const ฉันเข้าใจว่ามันใช้งานได้ แต่ฉันไม่เคยอยู่ในสถานการณ์ที่ถูกต้อง constจะหลีกเลี่ยงปัญหาที่ฉันเผชิญ แล้วคุณมารักผลประโยชน์ของกลุ่มดาวได้อย่างไร?

8
ในการกระทำของผู้ใช้วันละครั้ง: รีเซ็ต 24 ชั่วโมงเทียบกับรีเซ็ตเที่ยงคืน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน12 เดือนที่ผ่านมา เมื่อผู้ใช้สามารถทำการกระทำได้วันละครั้งเท่านั้นเช่นรับตั๋วฟรีสำหรับการแข่งขันมีความเป็นไปได้สองอย่างที่ฉันได้พบในประสบการณ์ของฉัน 1) รีเซ็ต 24 ชั่วโมง หากเขาทำการกระทำในวันที่ 1 เมื่อเวลา 23:45 น. เขาจะสามารถดำเนินการได้อีกครั้งในวันที่ 2 ในวันที่หรือหลังเวลา 11:45 เขาจะไม่สามารถทำได้ 11:44 ในวันที่ 2 2) รีเซ็ตเที่ยงคืน (หรือเวลาใดก็ได้) ไม่ว่าผู้ใช้จะทำอะไรในวันที่ 1 เมื่อใดก็ตามที่กลายเป็นเที่ยงคืนและวันที่ 2 เริ่มต้นเขาจะสามารถดำเนินการได้อีกครั้ง ทั้งสอง จำกัด ผู้ใช้ในการดำเนินการเพียงหนึ่งการกระทำต่อวัน แต่ฉันมักจะเจอวิธีที่ 1 ซึ่งฉันคิดว่าไม่สะดวกด้วยเหตุผลสองประการ: ก่อนอื่นฉันต้องรอเวลา และครั้งที่สองในช่วงเวลานานการประทับเวลาของฉันที่ดำเนินการจะกลายเป็นในภายหลังและหลังจากนั้นเนื่องจากฉันจะไม่สามารถดำเนินการได้อย่างแน่นอน ณ เวลาประทับนั้นทุกวันเพียงไม่กี่วินาทีหรือนาทีต่อมา มีเหตุผลทางเทคนิคหรือไม่ที่ใครจะชอบวิธีที่ 1 แม้ว่าในความคิดของฉันข้อเสียที่สำคัญสำหรับผู้ใช้ที่ระบุไว้ล่วงหน้า? แก้ไขเพื่อระบุ: ฉันกำลังพูดถึงตัวอย่างโดยเฉพาะอย่างยิ่งที่ไม่จำเป็นต้องใช้เวลาว่าง 24 ชั่วโมงเช่นในการหมุนฟรีในปัจจุบันของ …

7
ในทางปฏิบัติเก้าสิบเก้า
90 เปอร์เซ็นต์แรกของรหัสบัญชีสำหรับ 90 เปอร์เซ็นต์แรกของเวลาในการพัฒนา ส่วนที่เหลืออีก 10 เปอร์เซ็นต์ของรหัสบัญชีคิดเป็น 90 เปอร์เซ็นต์ของเวลาในการพัฒนา - Tom Cargill, Bell Labs ในทางปฏิบัติหมายความว่าอย่างไร โปรแกรมเมอร์รายนั้นทำงานเป็นกอบเป็นกำและพวกเขาให้ผลประโยชน์ 180% หรือ?

8
มันจะไม่เป็นประโยชน์ในการเขียนการทดสอบระหว่างการตรวจสอบรหัส?
เพื่อนร่วมงานของฉันเกิดขึ้นกับความคิดที่ฉันพบว่าน่าสนใจ มันจะไม่เป็นประโยชน์ในการเขียนการทดสอบในระหว่างการตรวจสอบโค้ดโดยผู้ที่ทำการตรวจสอบโดยสมมติว่าเราไม่ได้ทำ TDD? สำหรับคำถามนี้สมมติว่านี่เป็นโครงการทางวิชาการล้วนๆไม่มีชีวิตที่จะเสี่ยง ยิ่งกว่านั้นทีมคือ 4 คน ทุกคนรู้ภาษาและคุ้นเคยกับเครื่องมือ / ไลบรารี / กรอบงานทั้งหมดที่ใช้และสามารถเขียนแบบทดสอบได้ โดยทั่วไปแล้วคนที่ไม่ได้เป็นหัวหน้าเต็มสแต็คนำทีมวิศวกรนินจา แต่เป็นนักเขียนโค้ดที่ดี ข้อดีที่ฉันพบ: ส่งเสริมความเข้าใจที่ลึกซึ้งยิ่งขึ้นของรหัสระหว่างการทบทวนเพื่อเขียนการทดสอบที่มีความหมาย จากนั้นคุณสามารถเพิ่มการตรวจสอบโค้ดของการทดสอบเหล่านั้นโดยผู้เขียนโค้ดที่จะทดสอบ ข้อเสียฉันพบ: ข้อเสนอแนะวนซ้ำระหว่างการเขียนโค้ดและการทดสอบเพิ่มขึ้น แก้ไข: ฉันรู้ว่ามันจะไม่ทำงานได้ดีกับเว็บแอปพลิเคชัน "ปกติ" สิ่งที่ฉันมีอยู่ในใจคือกรณีมุมที่คุณใช้อัลกอริทึมทางวิทยาศาสตร์ที่ซับซ้อน สมมติว่ามีบางอย่างเช่นการใช้ไลบรารี่กราฟของตัวเอง NLP ฯลฯ ฉันสงสัยว่ารหัสที่เราเขียนนั้นแยกจากฐานข้อมูลและยากมากที่จะเข้าใจว่าจะไม่เพิ่มระดับการควบคุมอีกคนที่ต้องการเข้าใจแหล่งที่มา โค้ดและทำการทดสอบที่มีความหมายทำให้กระบวนการทั้งหมดมีความเป็นไปได้ที่จะเกิดข้อบกพร่องน้อยลงอย่างเห็นได้ชัดซึ่งไม่ทำให้แอปพลิเคชันเสียหาย แต่ในที่สุดก็ทำให้ผลลัพธ์ของคุณเป็นขยะ

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