วิศวกรรมซอฟต์แวร์

ถาม - ตอบสำหรับมืออาชีพนักวิชาการและนักเรียนที่ทำงานในวงจรการพัฒนาระบบ

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

7
ข้อมูลใดต้องไม่ปรากฏในบันทึก [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังจะเขียนแนวทาง บริษัท เกี่ยวกับสิ่งที่ต้องไม่ปรากฏในบันทึก (การติดตามแอปพลิเคชัน) ในความเป็นจริงผู้พัฒนาบางรายพยายามที่จะรวมข้อมูลให้มากที่สุดเท่าที่จะทำได้ทำให้มีความเสี่ยงในการจัดเก็บบันทึกเหล่านั้นและเป็นอันตรายอย่างยิ่งที่จะส่งพวกเขาโดยเฉพาะอย่างยิ่งเมื่อลูกค้าไม่ทราบว่าข้อมูลนี้ถูกจัดเก็บไว้ และไม่เคยอ่านเอกสารและ / หรือข้อความเตือน ตัวอย่างเช่นเมื่อจัดการกับไฟล์นักพัฒนาบางส่วนถูกล่อลวงเพื่อติดตามชื่อของไฟล์ ตัวอย่างเช่นก่อนที่จะผนวกชื่อไฟล์ไปยังไดเรกทอรีถ้าเราติดตามทุกอย่างที่เกิดข้อผิดพลาดมันจะง่ายต่อการสังเกตเช่นชื่อต่อท้ายยาวเกินไปและข้อผิดพลาดในรหัสก็คือลืมที่จะตรวจสอบความยาวของ สตริงที่ต่อกัน มันจะมีประโยชน์ แต่นี่เป็นข้อมูลที่สำคัญและต้องไม่เคยปรากฏในบันทึก ในทำนองเดียวกัน: รหัสผ่าน , ที่อยู่ IP และข้อมูลเครือข่าย (ที่อยู่ MAC, ชื่อโฮสต์, ฯลฯ ) ¹, การเข้าถึงฐานข้อมูล ป้อนข้อมูลโดยตรงจากผู้ใช้และข้อมูลธุรกิจที่เก็บไว้ ต้องไม่ปรากฏในร่องรอย ดังนั้นข้อมูลประเภทอื่น ๆ จะต้องถูกระงับจากบันทึก? มีแนวทางใดบ้างที่เขียนไว้แล้วซึ่งฉันสามารถใช้ได้ ¹เห็นได้ชัดว่าฉันไม่ได้พูดถึงสิ่งต่าง ๆ เช่นบันทึก IIS หรือ Apache สิ่งที่ฉันกำลังพูดถึงคือการเรียงลำดับของข้อมูลที่รวบรวมโดยมีจุดประสงค์เพียงเพื่อดีบักแอปพลิเคชันเท่านั้นไม่ใช่เพื่อติดตามกิจกรรมของเอนทิตีที่ไม่น่าเชื่อถือ แก้ไข:ขอบคุณสำหรับคำตอบและความคิดเห็นของคุณ เนื่องจากคำถามของฉันไม่แม่นยำเกินไปฉันจะพยายามตอบคำถามที่พบในความคิดเห็น: ฉันกำลังทำอะไรกับบันทึก บันทึกของแอปพลิเคชันอาจถูกเก็บไว้ในหน่วยความจำซึ่งหมายความว่าอาจเป็นแบบธรรมดาบนฮาร์ดดิสก์บนโลคัลโฮสต์ในฐานข้อมูลอีกครั้งในแบบธรรมดาหรือใน …

5
อาร์กิวเมนต์ที่ระบุชื่อ (พารามิเตอร์) เป็นตัวช่วยการอ่าน
นานมาแล้วฉันตั้งโปรแกรมมากใน ADA และเป็นเรื่องปกติที่จะตั้งชื่ออาร์กิวเมนต์เมื่อเรียกใช้ฟังก์ชัน - SomeObject.DoSomething (SomeParameterName => someValue); ตอนนี้ C # รองรับการโต้เถียงที่มีชื่อฉันกำลังคิดถึงการกลับไปใช้นิสัยนี้ในสถานการณ์ที่อาจไม่ชัดเจนว่าการโต้แย้งหมายถึงอะไร คุณอาจโต้แย้งว่ามันควรจะชัดเจนว่าอาร์กิวเมนต์หมายถึงอะไร แต่ถ้าคุณมีอาร์กิวเมนต์บูลีนและผู้โทรผ่าน "true" หรือ "false" การกำหนดค่าด้วยชื่อทำให้ไซต์ไซต์อ่านได้ง่ายขึ้น contentFetcher.DownloadNote (หมายเหตุ, คู่มือ: จริง); ฉันเดาว่าฉันสามารถสร้าง Enums แทนการใช้จริงหรือเท็จ (Manual, Automatic ในกรณีนี้) คุณคิดอย่างไรเกี่ยวกับการใช้อาร์กิวเมนต์ที่มีชื่อเพื่อให้อ่านง่ายขึ้น

5
ฟังก์ชั่นชั้นหนึ่ง
ฉันเริ่มดู Lisp อย่างจริงจังในสุดสัปดาห์นี้ (ซึ่งฉันหมายถึงฉันเพิ่งได้เรียนรู้ Lisp และไม่คืนกลับสู่โครงการใน C #) และต้องบอกว่าฉันรักมัน ฉันได้ขลุกกับภาษาอื่น ๆ ที่ใช้งานได้ (F #, Haskell, Erlang) แต่ไม่ได้รู้สึกว่า Lisp ให้ฉันมา ตอนนี้เมื่อฉันเรียนรู้ LISP ฉันก็เริ่มสงสัยว่าทำไมภาษาที่ไม่สามารถใช้งานได้ไม่รองรับฟังก์ชั่นชั้นหนึ่ง ฉันรู้ว่าภาษาเช่น C # สามารถทำสิ่งที่คล้ายกันกับผู้ได้รับมอบหมายและเท่าที่คุณสามารถใช้ตัวชี้เพื่อทำงานใน C / C ++ แต่มีเหตุผลว่าทำไมสิ่งนี้จะไม่กลายเป็นคุณสมบัติในภาษาเหล่านั้น? มีข้อเสียเปรียบในการทำฟังก์ชั่นชั้นหนึ่งหรือไม่? สำหรับฉันแล้วมันมีประโยชน์อย่างมากดังนั้นฉันจึงหลงทางว่าทำไมภาษาอื่น ๆ (นอกกระบวนทัศน์การทำงาน) จึงไม่ได้นำมาใช้ [แก้ไข] ฉันขอขอบคุณคำตอบที่ได้รับ เนื่องจากฉันได้รับการพิสูจน์แล้วว่าหลาย ๆ ภาษารองรับฟังก์ชั่นชั้นหนึ่งแล้วฉันจะตั้งคำถามอีกครั้งว่าทำไมมันใช้เวลานานมากในการใช้ภาษาเหล่านี้ [/ แก้ไข]

8
ทำไมการค้นหาทุกอย่างในเว็บไซต์ MS จึงเป็นเรื่องยาก [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันมีคำถามนี้อยู่ในใจเสมอและฉันยินดีที่จะได้รับคำอธิบายเกี่ยวกับเรื่องนี้ เป็นฉันคนเดียวหรือคุณรู้สึกแบบเดียวกับที่หาเว็บไซต์ MS ได้ยาก ตัวอย่างเช่นทุกครั้งที่ฉันต้องดาวน์โหลด. NET Framework ฉันต้องใช้ Google คุณไม่มีทางรู้ว่าคุณสามารถดาวน์โหลดอะไรไม่มีหมวดหมู่สำหรับการดาวน์โหลด คุณเหลือเพียงแค่ช่องค้นหา คุณไม่มีทางรู้ว่าคุณดาวน์โหลดไฟล์เวอร์ชันล่าสุดหรือไม่ ความจริงที่น่าเศร้าคือคุณต้องพึ่งพาคู่แข่งของ Google เพื่อหาอะไรในเว็บไซต์ของพวกเขา ฉันรู้ว่าพวกเขาเป็น บริษัท ใหญ่ แต่เป็นเรื่องยากไหมที่จะมีวิธีจัดระเบียบเพื่อเผยแพร่ข้อมูล

8
มันเป็นจริยธรรมสำหรับโปรแกรมเมอร์ที่จะส่งเสริมห้องสมุดของเขา / เธอ? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ค่อนข้างเร็ว ๆ นี้ฉันเริ่มบำรุงรักษาห้องสมุด JavaScript ของฉันเอง ฉันสร้างมันขึ้นมาเพื่อแก้ปัญหาความต้องการที่เฉพาะเจาะจง แต่ค่อนข้างเห็นคำถามที่สามารถแก้ไขได้ (ทั้งหมด / บางส่วน) เป็นประจำโดยใช้ห้องสมุดของฉัน ฉันโพสต์คำตอบของฉันและตรวจสอบให้แน่ใจเสมอว่าฉันมีห้องสมุดอยู่เสมอ ฉันรู้สึกว่าโครงการโอเพ่นซอร์สอาจไม่ใช่เรื่องใหญ่อะไร แต่คุณจะวาดเส้นที่ไหน? (เช่นผลิตภัณฑ์เชิงพาณิชย์) โปรแกรมเมอร์มีจริยธรรมในการส่งเสริมห้องสมุดของตนเองหรือไม่? เมื่อไหร่

8
เครื่องมือติดตามข้อบกพร่องออนไลน์ / โฮสต์ที่คุณใช้สำหรับงานและโครงการของคุณเอง? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันได้สะสมหลายโครงการในช่วงหลายปีที่ผ่านมาซึ่งฉันค่อยๆพัฒนาไปตามกาลเวลา เมื่อใดก็ตามที่ฉันกลับไปที่หนึ่งฉันใช้เวลาอ่านไฟล์ข้อความที่มีการออกแบบข้อบกพร่องล่าสุดคุณสมบัติถัดไป ฯลฯ ... ที่ฉันควรจะทำงาน - มันไม่สวย ฉันกำลังมองหาวิธีที่จะเปลี่ยนเป็นทางการมากขึ้น เป็นการดีที่นี่จะเป็นระบบติดตามบั๊กออนไลน์ที่โดดเด่นเต็มรูปแบบซึ่งช่วยให้สามารถติดตามบั๊กได้ฟรีหรือเกือบฟรีสำหรับโครงการของฉัน นอกจากนี้ยังเป็นการดีที่จะทำได้ในลักษณะที่เป็นส่วนตัว - ฉันไม่ต้องการให้ทุกคนเห็นโครงการด้านข้างของฉันและสิ่งที่ฉันทำจากพวกเขา

10
จะแยกความแตกต่างระหว่างซอฟต์แวร์ที่เป็นเรื่องเล็กน้อยและไม่เป็นเรื่องเล็กได้อย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ดังนั้นสิ่งที่ทำให้โปรแกรมเล็กน้อยจริง ๆ ? 'เว้นแต่ซอฟต์แวร์ที่น่ารำคาญ' มักใช้ในการอภิปรายการเขียนโปรแกรม ฉันคิดว่ามันคลุมเครือมากในแง่ที่ว่าฉันไม่สามารถคิดได้ว่า 'บางสิ่งจำเป็นเพราะซอฟต์แวร์ที่ไม่สำคัญ' หรือ 'ซอฟต์แวร์ที่ไม่ใช่เรื่องเล็ก ๆ น้อย ๆ เพราะบางสิ่งมีความสำคัญมาก' ตัวอย่างเช่นคำถามเกี่ยวกับการทดสอบหน่วยเป็นจำนวนมากฉันได้ยิน 'ถ้าไม่สำคัญคุณต้องทดสอบหน่วย'
11 complexity 

4
การใช้กฎของเครื่องยนต์ส่งผลต่อการออกแบบการใช้งานและประสิทธิภาพของแอปพลิเคชันอย่างไร
ฉันสนใจความสามารถของกฎของเครื่องมือในการ: การเปิดตัวและทำซ้ำมากกว่าตรรกะเชิงธุรกิจ มี "ผู้ใช้ทางธุรกิจ" ดำเนินการแก้ไขกฎเหล่านั้นจริงแทนที่จะเป็นผู้พัฒนา เข้าใจกฎเกณฑ์ทางธุรกิจโดยทั่วไป นอกจากนี้การใช้เอ็นจินกฎมีผลกับคุณภาพของแอปพลิเคชันหรือไม่ การใช้งานเอ็นจิ้นกฎเปลี่ยนแปลงหรือไม่ถ้าคุณปรับใช้กับการตั้งค่า 1 เครื่องเทียบกับสถาปัตยกรรมของคุณเทียบกับสถาปัตยกรรมแบบกระจายหลายระดับบนคลาวด์โดยใช้เครื่องจักรนับพันเครื่องหรือไม่? แตกต่างกันอย่างไร

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

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

4
ฟังก์ชั่นที่ไม่มีเอกสารถูกค้นพบได้อย่างไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันสงสัยอยู่เสมอว่าคุณค้นหาAPI ที่ไม่มีเอกสาร / ส่วนตัวได้อย่างไร ตัวอย่างแอปเปิ้ลที่ไม่มีเอกสาร / API ส่วนตัว, Play Station , Windows Phone 7 , Win32 Kernel , Windows API , การโทรกลับที่ซ่อนอยู่ฯลฯ ... เครื่องมือใดที่แฮ็กเกอร์ใช้เพื่อค้นหาข้อมูลเกี่ยวกับฟังก์ชั่นส่วนตัวและที่ไม่มีเอกสาร? ฉันจะอ่านเกี่ยวกับประสบการณ์ของผู้คนที่เจาะลึกไปถึง API ส่วนตัวและเทคนิควิศวกรรมย้อนกลับที่เปิดเผยความลับที่อธิบายได้ตามปกติในเอกสาร API ได้อย่างไร ขอบคุณ A

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

4
ขั้นตอนการจัดเก็บ [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว หนึ่งในนักพัฒนาอาวุโสของเราระบุว่าเราควรใช้แบบแผนการตั้งชื่อสำหรับกระบวนการจัดเก็บด้วยรูปแบบการตั้งชื่อแบบ "objectVerb" เช่น ("MemberGetById") แทนการตั้งชื่อแบบ "verbObject" ("GetMemberByID") เหตุผลสำหรับมาตรฐานนี้คือกระบวนการที่เก็บไว้ทั้งหมดที่เกี่ยวข้องจะถูกจัดกลุ่มเข้าด้วยกันโดยวัตถุแทนที่จะกระทำ ในขณะที่ฉันเห็นตรรกะของวิธีการตั้งชื่อสิ่งต่าง ๆ นี่เป็นครั้งแรกที่ฉันได้เห็นกระบวนงานที่เก็บไว้ซึ่งตั้งชื่อด้วยวิธีนี้ ความเห็นของฉันเกี่ยวกับหลักการตั้งชื่อก็คือชื่อนั้นไม่สามารถอ่านได้อย่างเป็นธรรมชาติและใช้เวลาพอสมควรในการพิจารณาว่าคำพูดกำลังพูดถึงอะไรและกระบวนการนั้นควรทำอย่างไร คุณทำอะไรกับสิ่งนี้ วิธีการตั้งชื่อ proc ที่จัดเก็บโดยทั่วไปวิธีใดและคุณใช้อนุสัญญาการตั้งชื่อประเภท proc ที่เก็บไว้หรือไม่

9
ศึกษาเกี่ยวกับการเพิ่มหรือลดความสามารถในการผลิตเอกสารรหัส
หลังจากค้นหามากฉันล้มเหลวในการตอบคำถามพื้นฐานที่เกี่ยวข้องกับการสันนิษฐานว่าเป็นที่รู้จักในโลกการพัฒนาซอฟต์แวร์: สิ่งที่เป็นที่รู้จัก: การบังคับใช้นโยบายที่เข้มงวดเกี่ยวกับเอกสารรหัสที่เพียงพอ (ไม่ว่าจะเป็นแท็ก Doxygen, Javadoc หรือเพียงแค่ความคิดเห็นมากมาย) จะเพิ่มส่วนหัวไปยังเวลาที่ใช้ในการพัฒนาโค้ด แต่: การมีเอกสารอย่างละเอียด (หรือแม้กระทั่ง API) จะนำมาซึ่งความสามารถในการเพิ่มผลผลิต (ข้อสันนิษฐานหนึ่งข้อ) ในนักพัฒนาใหม่และผู้ที่มีประสบการณ์ในช่วงที่พวกเขากำลังเพิ่มคุณสมบัติหรือแก้ไขข้อบกพร่องตามท้องถนน คำถาม: ต้องใช้เวลาในการพัฒนาเพิ่มเติมเพื่อรับประกันเอกสารดังกล่าวซึ่งชดเชยด้วยผลกำไรที่เพิ่มขึ้นจากการผลิตบนถนน (ในแง่ที่ประหยัดอย่างเคร่งครัด) หรือไม่? ฉันกำลังมองหากรณีศึกษาหรือคำตอบที่สามารถนำหลักฐานที่เป็นหลักฐานมาสนับสนุนข้อสรุปที่ได้รับ ขอบคุณล่วงหน้า!

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