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

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

7
สร้างโปรแกรมที่สมบูรณ์หรือไม่
การอ่านหนังสือการดูวิดีโอและการทบทวนบทเรียนเป็นเรื่องง่ายมาก การจดบันทึกและการเรียนรู้เนื้อหาอาจยากขึ้นเล็กน้อย แต่ถึงอย่างนั้นทุกคนที่มีสมองดีและมีจำนวนดอกเบี้ยพอใช้ก็ง่ายพอ (ไม่ต้องพูดถึงสนุก) สิ่งนี้คือมันไม่ได้เตรียมความพร้อมให้คุณเขียนโปรแกรมหรือเว็บไซต์เต็มรูปแบบ สมมติว่าคุณเป็นวัยรุ่น (เฉพาะในโรงเรียนมัธยมไม่มีหลักสูตรวิทยาการคอมพิวเตอร์หรือหลักสูตรการเขียนโปรแกรมที่ไม่มีจริง (ระดับวิทยาลัย) และไม่มีประสบการณ์ในโลกแห่งความเป็นจริง) และคุณมากับ Groupon หรือแม้แต่ Mark Zuckerburg แน่นอนว่าเขาเป็นอัจฉริยะและเขาเป็นโปรแกรมเมอร์ที่มีความสามารถมาก ... แต่ทำได้อย่างไร คุณจะแนะนำอย่างไรว่าคนที่ไม่ได้ใหม่กับการเขียนโปรแกรม แต่ใหม่กับการเขียนโปรแกรมประยุกต์จริงและโปรแกรมเมอร์จริงไปเกี่ยวกับการพัฒนามันได้อย่างไร "กระบวนการพัฒนา" คืออะไรโดยเฉพาะอย่างยิ่งสำหรับโปรแกรมเมอร์เดี่ยว (หรืออาจเป็นวัยรุ่น 2-3 คน)? นอกจากนี้เท่าที่การพัฒนาเว็บดำเนินการเป็นกระบวนการอะไร เป็นอะไรที่เหมือนกับ Facebook หรือ Groupon ที่เขียนด้วยกรอบงาน (เช่น CodeIgniter หรือ Zend สำหรับ PHP) หรือพวกเขาพัฒนากรอบของตัวเอง? ฉันไม่ได้ถามว่าจะทำอย่างไรกับความคิดที่ดี แต่จะนำความคิดที่ยอดเยี่ยมมาใช้อย่างมีประสิทธิภาพได้อย่างไร ไม่มีใครมีคำแนะนำ? ฉันได้อ่านหนังสือสองเล่มเกี่ยวกับ C และ C ++ (โดยหลักคือภาษาการเขียนโปรแกรม C และภาษาการเขียนโปรแกรม C ++) …

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

2
ข้อยกเว้นสำหรับการควบคุมการไหลที่ดีที่สุดใน Python หรือไม่?
ฉันกำลังอ่าน "Learning Python" และเจอสิ่งต่อไปนี้: ข้อยกเว้นที่ผู้ใช้กำหนดยังสามารถส่งสัญญาณเงื่อนไขที่ไม่ใช่ผู้ใช้ ตัวอย่างเช่นรูทีนการค้นหาสามารถเขียนโค้ดเพื่อเพิ่มข้อยกเว้นเมื่อพบการจับคู่แทนที่จะส่งกลับค่าสถานะสถานะเพื่อให้ผู้โทรตีความ ในต่อไปนี้ตัวจัดการข้อยกเว้นลอง / ยกเว้น / อื่นทำงานของตัวทดสอบ if / else return-value: class Found(Exception): pass def searcher(): if ...success...: raise Found() # Raise exceptions instead of returning flags else: return เนื่องจาก Python นั้นถูกพิมพ์แบบไดนามิกและ polymorphic ไปที่แกนกลาง, ข้อยกเว้น, แทนที่จะเป็น Sentinel return values ​​นั้นเป็นวิธีที่นิยมใช้ในการส่งสัญญาณเงื่อนไขดังกล่าว ฉันได้เห็นสิ่งต่าง ๆ ที่กล่าวถึงหลายครั้งในฟอรัมต่าง ๆ และการอ้างอิงถึง Python …

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

5
การสร้างเอกสารมาตรฐานการเข้ารหัส
ฉันทำงานใน บริษัท ระบบควบคุมซึ่งงานหลักคือSCADAและPLCพร้อมกับระบบควบคุมอื่น ๆ การพัฒนาซอฟต์แวร์ไม่ใช่สิ่งที่ บริษัท ทำจริงๆนอกเหนือจากที่นี่และที่นั่นจนกระทั่งมีการตัดสินใจที่จะสร้างการจัดการโครงการภายในและระบบการประเมินผล โครงการนี้ดำเนินการโดยผู้ที่มาที่นี่ในฐานะผู้ใช้ซอฟต์แวร์ แต่เดิมและเราส่วนใหญ่เป็นผู้น้อย โครงการเริ่มจากเล็กดังนั้นเราจึงบันทึกเฉพาะสิ่งต่าง ๆ เช่นการออกแบบสิ่งฐานข้อมูลเป็นต้น แต่เราไม่เคยเห็นด้วยกับรูปแบบการเข้ารหัส / อนุสัญญา เราเริ่มใช้StyleCopเพื่อให้แน่ใจว่าเรามีรหัสที่ดี แต่ฉันรู้สึกว่าเราจำเป็นต้องมีเอกสารอย่างเป็นทางการสำหรับการเข้ารหัสอนุสัญญา / การปฏิบัติเพื่อให้เราสามารถดำเนินการต่อในมาตรฐานที่ดีและหากมีงานพัฒนาที่สำคัญอีกต่อไปในอนาคต มีแผ่นฐานที่ดี ปัญหานั้นอยู่ที่ฉันไม่ทราบวิธีการร่างเอกสารสำหรับการเข้ารหัสการประชุมและมาตรฐานทั้งหมดที่ฉันคิดว่าเป็นตัวอย่างของการปฏิบัติที่ดีและไม่ดี (ตัวอย่างเช่นกรณีอูฐเมื่อตั้งชื่อตัวแปรหลีกเลี่ยงสัญกรณ์ฮังการี ฯลฯ ) เราทุกคน โปรแกรมเมอร์ที่เก่งพอสมควร (ชัด) แต่เราก็ไม่มีกฎบัตรสำหรับเนื้อหาประเภทนี้ คำถามของฉันคืออะไรประเด็นสำคัญและเนื้อหาของเอกสารมาตรฐานการเข้ารหัสที่ดีมีอะไรบ้าง

3
เมื่อไรที่จะใช้ Parallel Arrays?
ฉันใช้รหัส (รหัสใหม่) ที่ใช้สิ่งที่ฉันเรียกว่า 'อาร์เรย์แบบขนาน' หรือรายการ ความหมายมี 2 อาร์เรย์ที่มีข้อมูลที่เกี่ยวข้องและเชื่อมโยงโดยตำแหน่ง (ดัชนี) ในอาร์เรย์ ฉันพิจารณาถึงความสับสนและมีแนวโน้มที่จะเกิดข้อผิดพลาดทุกประเภท วิธีแก้ปัญหาที่ฉันเสนอตามปกติคือการสร้างวัตถุที่เรียกว่าCompanyมีฟิลด์ CompanyId และ CompanyName ตัวอย่างจริงมาก: List<string> companyNames; List<int> companyIds; //...They get populated somewhere and we then process for(var i=0; i<companyNames.Count; i++) { UpdateCompanyName(companyIds[i],companyNames[i]); } อาร์เรย์แบบขนานเหล่านี้มีการพิจารณาว่าไม่เหมาะสมหรือไม่

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

4
เกิดข้อผิดพลาดในการยับยั้งการปฏิบัติที่ไม่ดีหรือไม่?
เกี่ยวกับคำถามดังนั้นผมถามนี่เกี่ยวกับรหัสบางอย่างผมก็ไม่แน่ใจเกี่ยวกับใครบางคนตอบว่า "BTW รหัสที่น่ากลัวนั่น. จะใช้ข้อผิดพลาดปราบปรามสัญลักษณ์ (@) เป็นจำนวนมาก" มีเหตุผลหรือไม่ว่าทำไมนี่ถึงเป็นการปฏิบัติที่ไม่ดี? ด้วยสิ่งที่ชอบ: $db=@new mysqli($db_info) or die('Database error'); มันช่วยให้ฉันแสดงข้อความข้อผิดพลาดที่กำหนดเอง โดยไม่มีการระงับข้อผิดพลาดจากนั้นจะยังคงแสดงข้อความ PHP ทั่วไปของ: คำเตือน : mysqli :: mysqli (): php_network_getaddresses: getaddrinfo ล้มเหลว: ไม่รู้จักโฮสต์ดังกล่าว ในบาง \ file \ pathบนบรรทัด 6 เช่นเดียวกับ 'ข้อผิดพลาดฐานข้อมูล' ข้อผิดพลาดในการระงับไม่ดีเสมอและถ้าเป็นเช่นนั้นสิ่งที่เฉพาะเจาะจงเกี่ยวกับข้างต้นจะไม่ดี? อัปเดต: รหัสจริงที่ฉันใช้คือ: or error('Datatabase error', 'An error occurred with the database' . (($debug_mode) ? …

5
จะทำอย่างไรในฐานะ Dev เมื่อหลายปีที่ทีมของพวกเขาขาดนวัตกรรมผลิตภัณฑ์ไม่ใช้วิธีการจัดการโครงการและยังคงใช้การพัฒนาซอฟต์แวร์ที่ไม่ดี? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ฉันสนใจที่จะรู้วิธีจัดการกับกระบวนการพัฒนาซอฟต์แวร์ในปัจจุบันซึ่งไม่ได้เปลี่ยนแปลงมานานหลายปีและในที่สุดจะนำไปสู่ความล้มเหลวของผลิตภัณฑ์และทีม ใช่อาจเป็นวิธีที่ง่ายกว่าในการแก้ปัญหานี้คือการเปลี่ยนงาน แต่ด้วยเศรษฐกิจแบบนี้พูดง่ายกว่าทำ อย่างไรก็ตามหากคุณมีตัวอย่างที่เฉพาะเจาะจงและได้เห็นหรืออยู่หลายครั้งในสถานการณ์เดียวกันและคิดว่าทางออกที่ดีที่สุดในการแก้ไขปัญหาเหล่านี้คือการออกจาก บริษัท โปรดสนับสนุนคำตอบของคุณ ประเด็นคือคำถามนี้มีคำตอบจริง ๆ โดยเฉพาะอย่างยิ่งหากผู้เชี่ยวชาญหลายคนในหัวเรื่องจบลงซึ่งบ่งชี้ว่าเส้นทางที่ดีที่สุดที่จะไปคือ: เส้นทาง A. ฉันรู้ว่านักพัฒนาซอฟต์แวร์จำนวนมากเคยเป็นหรืออยู่ในสถานการณ์ที่คล้ายคลึงกัน นี่คือหนึ่งในเหตุผลหลักว่าทำไม บริษัท จึงกลายเป็นอันดับ 1 ในตลาดของพวกเขาจนกลายเป็นตลาดสุดท้ายหรือแม้แต่ในตลาด หวังว่าคำตอบในโพสต์นี้จะช่วยให้ผู้พัฒนารายอื่นเผชิญกับอุปสรรคที่คล้ายกัน ในทีมพัฒนาขนาดเล็กหรือใหญ่สิ่งนี้มักจะเกิดขึ้น: นักพัฒนาบางคนดูเหมือนจะไม่สนใจและตัดสินใจที่จะไปกับกระแสและชอบที่จะปล่อยให้รหัสที่มีจำนวนมากของรหัสกลิ่นในแบบที่มันเป็นและกระบวนการพัฒนาตามที่เป็นอยู่ บางคนเบื่อที่จะไม่มีการเปลี่ยนแปลงลาออกและย้ายไปที่ บริษัท อื่น คนอื่น ๆ ดูเหมือนกลัวที่จะพูดคุยและชอบที่จะอยู่เงียบ ๆ ในบางครั้งนักพัฒนาน้อยมากหรือเพียงแค่พยายามพูดเพื่อปรับปรุงผลิตภัณฑ์และบอกทีมว่าสำคัญอย่างไรที่ต้องปฏิบัติตามวิธีปฏิบัติที่ดีที่สุดในการเขียนโค้ดและผลประโยชน์ของการทำเช่นนั้นสำหรับลูกค้าผู้ใช้และทีม นักพัฒนาประเภทนี้มักตัดสินใจที่จะอยู่กับทีมเนื่องจากเหตุผลต่าง ๆ เช่น บริษัท เสนอผลประโยชน์ที่ บริษัท ซอฟต์แวร์มีให้น้อยมากหรือผลิตภัณฑ์มีศักยภาพมากมายเป็นต้น ผลิตภัณฑ์ในทีมของเราเป็นเพียงเศษเสี้ยวที่ บริษัท ได้รับรายได้เนื่องจากมีผลิตภัณฑ์ (บริษัท นี้ไม่ใช่ บริษัท ซอฟต์แวร์ / …

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

7
การป้องกันสำหรับสำเร็จรูป?
สำหรับฉันแล้วรหัสสำเร็จรูปนั้นแย่มาก อย่างไรก็ตามฉันได้พบกับนักพัฒนาที่แสดงความต้านทานในความพยายามใด ๆ เพื่อลดสำเร็จรูป ฉันรู้ว่าฉันไม่ได้มีรูปแบบที่พร้อมและคิดว่าการโต้แย้งที่ผ่านมาความเกลียดชังที่ฉันได้พัฒนามันเมื่อเวลาผ่านไป เพื่อที่ฉันจะได้สร้างข้อโต้แย้งที่น่าเชื่อถือสำหรับการสร้างหม้อไอน้ำให้น้อยลง กล่าวอีกนัยหนึ่งคืออะไรข้อโต้แย้ง (ถ้ามี) ในความโปรดปรานของสำเร็จรูป? (ฉันหมายถึงสิ่งที่ฉันคิดว่ามีความหมายโดยทั่วไปโดยสำเร็จรูป แต่ตัวอย่างที่ดีคือ getters และ setters ใน Java.)

11
คุณติดตามผู้เขียนรหัสได้อย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา นี่คือสิ่งที่ฉันไม่เคยสอน ฉันเห็นรูปแบบการเขียนประเภทต่างๆมากมาย ฉันใช้รหัสเป็นหลักใน Java และ Python ฉันสงสัยว่ามีรูปแบบการเขียนมาตรฐานหรือทุกอย่างเป็นฟรีสไตล์หรือไม่ นอกจากนี้หากคุณตอบคำถามคุณควรแนบสไตล์ที่คุณใช้กับไฟล์ผู้แต่งที่คุณสร้างที่บ้านหรือที่ทำงาน ฉันมักจะไป @author garbagecollector @company garbage inc.

12
โปรแกรมเมอร์“ micro-optimization” สำหรับวันนี้ทำอะไร? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ย้อนกลับไปใน "วันเฒ่าที่ดี" เมื่อเราจะคัดลอกแชร์แวร์ลงบนฟลอปปีสำหรับเพื่อน ๆ เราก็ใช้การชุมนุมที่ยุติธรรม มีวิธีปฏิบัติทั่วไปของ "การเพิ่มประสิทธิภาพขนาดเล็ก" ซึ่งคุณจะจ้องมองและจ้องมองที่สายการประกอบจนกว่าคุณจะหาวิธีที่จะแสดงมันในการเรียนการสอนน้อยลง แม้กระทั่งคำพูดซึ่งเป็นไปไม่ได้ในทางคณิตศาสตร์ว่า " คุณสามารถลบคำสั่งได้อีกหนึ่งคำสั่ง " เนื่องจากการเปลี่ยนแปลงประสิทธิภาพรันไทม์โดยปัจจัยคงที่เล็ก ๆ ไม่ใช่ประเด็นสำคัญสำหรับการเขียนโปรแกรม (ส่วนใหญ่) ในวันนี้ พยายามเพิ่มประสิทธิภาพที่อื่น? กล่าวอีกนัยหนึ่งคือวิธีปฏิบัติที่ดีที่สุดสามารถนำไปสู่สภาวะสุดขั้วที่ไม่เพิ่มคุณค่าใด ๆ อีกต่อไปหรือไม่? และแทนที่จะเสียเวลาเปล่า ตัวอย่างเช่น: โปรแกรมเมอร์เสียเวลาพูดคุยกับวิธีส่วนตัวที่เรียกจากที่เดียวหรือไม่? เสียเวลาลดข้อมูลกรณีทดสอบหรือไม่ โปรแกรมเมอร์ (ยัง) กังวลมากเกินไปเกี่ยวกับการลดบรรทัดของรหัส? มีสองตัวอย่างที่ยอดเยี่ยมของสิ่งที่ฉันกำลังมองหาอยู่ด้านล่าง: (1) ใช้เวลาในการค้นหาชื่อตัวแปรที่เหมาะสมแม้กระทั่งเปลี่ยนชื่อทุกอย่าง และ (2) การลบรหัสซ้ำซ้อนแม้แต่น้อย โปรดทราบว่าสิ่งนี้แตกต่างจากคำถาม " สิ่งที่คุณปรับให้เหมาะสมหรือไม่ " เพราะฉันถามว่าโปรแกรมเมอร์คนอื่น ๆ ดูเหมือนจะเพิ่มมากที่สุดด้วยความอัปยศของสิ่งเหล่านี้คือการเพิ่มประสิทธิภาพ "ไมโคร" และไม่ใช่การใช้เวลาอย่างมีประสิทธิผล

9
ฉันจะบูตชุมชนการพัฒนาซอฟต์แวร์ที่โรงเรียนของฉันได้อย่างไร
ฉันเป็นนักเรียนที่มหาวิทยาลัยเซาท์ฟลอริดาที่ผิดหวังกับสภาพแวดล้อมทางการศึกษาในโปรแกรมวิทยาศาสตร์คอมพิวเตอร์ ตอนนี้ฉันกำลังใช้ "การออกแบบโปรแกรม" ฉันควรจะเรียนรู้วิธีการจัดระเบียบซอร์สโค้ดของฉันลงในฟังก์ชั่นและโมดูลเพื่อให้โปรแกรมของฉันสามารถอ่านและบำรุงรักษาได้ แต่ฉันเรียนรู้เกี่ยวกับอาร์เรย์และการเรียกซ้ำใน C. ภาคการศึกษาถัดไปฉันต้องใช้ "การออกแบบเชิงวัตถุ" ซึ่งสอนผ่าน C ++ ( ตัวสั่น ) สองปีที่แล้วฉันตกหลุมรักการเขียนโปรแกรมและฉันเรียนรู้มากที่สุดตั้งแต่นั้นมา ความคาดหวังของการเรียน C ++ อีกครั้งทำให้ฉันแทบน้ำตา ด้วยเหตุนี้ฉันจึงคิดว่าฉันจะเริ่มชมรมการเขียนโปรแกรมเพื่อพบนักเรียนที่มีความทะเยอทะยานในทำนองเดียวกันเรียนรู้ภาษาใหม่อภิปรายหัวข้อการพัฒนาซอฟต์แวร์และทำงานร่วมกับนักพัฒนานักเรียนคนอื่น ๆ อย่างไรก็ตามฉันเริ่มตระหนักว่าอาจไม่มีนักเรียนคนอื่นที่แบ่งปันประสบการณ์การพัฒนาซอฟต์แวร์ของฉัน ไม่ใช่เพราะขาดแรงจูงใจ แต่ขาดโอกาส: ฉันรู้ว่ามีอีกหนึ่งคลาสการเขียนโปรแกรม ("ภาษาโปรแกรม") และไม่มีคลาสในการพัฒนาซอฟต์แวร์ในโลกแห่งความเป็นจริง ทุกคนอื่นมีประสบการณ์เขียนสคริปต์เล็กน้อยใน C และ C ++ ฉันรู้ว่าถ้าฉันต้องการทำงานกับนักพัฒนาซอฟต์แวร์นักเรียนคนอื่นฉันจะต้องฝึกพวกเขาเอง ตอนนี้ฉันวางแผนที่จะทำให้สโมสรเป็น bootcamp การพัฒนาซอฟต์แวร์สอนสมาชิกถึงวิธีการพัฒนาซอฟต์แวร์ด้วยเครื่องมือและภาษาที่ทันสมัย เห็นได้ชัดว่าการเริ่มต้นหลักสูตรการพัฒนาซอฟต์แวร์อย่างไม่เป็นทางการเป็นงานที่ยิ่งใหญ่ที่มีแนวทางที่เป็นไปได้มากมาย คำถามของฉันกับคุณผู้อ่านที่รักคือ แผนการโจมตีของฉันคืออะไร ฉันควร บรรยายสโมสรด้วยตัวเองพยายามสร้างสมดุลระหว่างการทำงานของสโมสรกับการบ้าน? ขอให้คณาจารย์ CS สอนในหัวข้อที่มีความเชี่ยวชาญซึ่งอาจน้อยกว่าที่เกี่ยวข้องกับสมาชิก? พยายามหาผู้พัฒนาที่เห็นอกเห็นใจมีประสบการณ์ทั้งในและนอกโรงเรียนที่สามารถแบ่งปันภาระงานของฉันได้หรือไม่ แสดงวิดีโอการบรรยาย (จากMIT OpenCourseWare , Google …

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

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