คำถามติดแท็ก development-process

สำหรับคำถามเกี่ยวกับกระบวนการพัฒนาซอฟต์แวร์

17
ความรับผิดชอบของโปรแกรมเมอร์โปรแกรมเมอร์ [ปิด]
ดังนั้นเราทุกคนเคยได้ยินThe Programmers Bill of Rightsและ XP มีแนวคิดคล้ายกัน มันเป็นเรื่องธรรมดาที่ทุกวันนี้เราได้ยินเกี่ยวกับสิทธิของผู้คนมากมาย แต่ไม่มากเกี่ยวกับความรับผิดชอบของพวกเขาดังนั้นสิ่งที่ควรจะอยู่ในความรับผิดชอบของโปรแกรมเมอร์ นั่นคือสิ่งที่พวกเขาควรทำซึ่งพวกเขาอาจพบว่าไม่อร่อย แต่สิ่งที่โปรแกรมเมอร์แยกต่างหากทำหน้าที่อย่างมืออาชีพและมีความรับผิดชอบจากผู้ที่ไม่ทำ ฉันสนใจในสิ่งที่ไม่อร่อยและสิ่งที่ไม่น่าจะเกิดขึ้น นั่นคือสิ่งที่โปรแกรมเมอร์มักจะหลบหลีกและหลีกเลี่ยงมากกว่า 90% ของโปรแกรมเมอร์ที่ต้องการทำ (เช่น refactor และใช้การควบคุมซอร์ส) ดังนั้นสิ่งที่ควรจะอยู่ในความรับผิดชอบของโปรแกรมเมอร์?

3
เมื่อออกแบบระบบเป็นวิธีปฏิบัติที่ดีที่สุดในการรองรับการออกแบบรอบกรอบที่คุณจะใช้หรือไม่?
เมื่อพัฒนาระบบหรือแอพพลิเคชั่นที่คุณวางแผนที่จะใช้กับเฟรมเวิร์กบางอย่างมันเป็นการปฏิบัติที่ดีที่สุดในการออกแบบระบบโดยไม่ต้องมีเฟรมเวิร์กในใจหรือดีกว่าในการออกแบบระบบด้วยความคิด ด้วยสิ่งนี้".

5
จะทำอย่างไรเมื่อคุณเผชิญกับงานเขียนโปรแกรมที่คุณไม่เคยทำ?
ฉันเริ่มต้นอาชีพด้วยการเป็นนักพัฒนา. NET 3 เดือนที่ผ่านมาและหลังจากแผนการฝึกอบรมที่ยาวนานเกี่ยวกับเทคโนโลยีที่หลากหลายรูปแบบและแนวคิดที่นักพัฒนาที่ดูแลฉันได้ตัดสินใจว่าฉันพร้อมที่จะเข้าร่วมหนึ่งในหลาย ๆ โครงการที่ บริษัท จัดการ ฉันตื่นเต้นมากที่ในที่สุดสามารถเริ่มการเข้ารหัสได้ ทีมที่ฉันเข้าร่วมนั้นค่อนข้างเล็กเพราะตอนนี้เริ่มต้นด้วยโครงการใหม่ซึ่งดีมากเพราะฉันได้มีส่วนร่วมในวงจรชีวิตทั้งหมดของโครงการ มันเป็นโครงการสปาบนเว็บที่ได้รับการสนับสนุนที่ใช้ ASP.NET MVC / ASP.NET Web API และ Front-end เฟรมเวิร์ก Durandal และไลบรารีที่เกี่ยวข้อง ปัญหาของฉันคือหลังจากที่มีการประชุมกับเพื่อนร่วมงานของฉันและการกำหนดงานและการประเมินสำหรับเดือนถัดไปฉันพบว่าตัวเองอยู่ในตำแหน่งที่ฉันไม่รู้ว่าฉันสามารถทำงานใด ๆ ได้หรือไม่ ฉันไม่เคยทำงานที่สร้างขึ้นมาก่อนและฉันไม่รู้ว่าฉันควรดำเนินการอย่างไร ตัวอย่างหนึ่งในภารกิจที่สร้างขึ้นคือการสร้างกลไกการจัดการข้อผิดพลาดทั่วไปสำหรับแอปพลิเคชันทั้งหมด ปกติแล้วจะดำเนินการอย่างไรเมื่อเผชิญกับงานที่เขาไม่เคยทำ?

7
วิธีการตัดสินใจทางเทคนิคที่สำคัญให้เวลาน้อยมาก
ฉันมีเวลา 2 วันในการตัดสินใจอย่างจริงจังเกี่ยวกับเครื่องมือและแพลตฟอร์มที่ บริษัท ของฉันกำลังจะใช้เพื่อพอร์ตแอปพลิเคชัน WPF ไปยัง Linux / Android / iOS เห็นได้ชัดว่าฉันสามารถชี้ไปที่รุ่นพี่ของฉันว่า 2 วันนั้นแทบจะไม่เพียงพอสำหรับการอ่านเกี่ยวกับตัวเลือกที่เป็นไปได้ทั้งหมดและสิ่งที่เกี่ยวกับความพยายามทำต้นแบบเป็นต้นฉันสามารถบอกได้ว่ามันจะไม่ช่วยฉันสักหน่อย หลังจาก 2 วันจะมีการตัดสินใจ ระยะเวลา จากด้านหนึ่งที่ฉันรู้สึกท้อแท้จากอีกด้านฉันคิดว่ามีความจริงในวิธีนี้ไม่อย่างนั้นฉันสามารถหาตัวเองได้อย่างง่ายดายภายใต้ SDK ที่ดาวน์โหลดกรอบงาน APIs บล็อกบทความ ฯลฯ และอื่น ๆ และลืมในสิ่งที่มันมีไว้สำหรับ แต่ฉันก็ยังกลัวว่าการตัดสินใจที่ผิดจะทำให้ บริษัท เสียค่าใช้จ่าย คุณคิดว่าเป็นกระบวนการ "อุดมคติ" ในการตัดสินใจเช่นนี้หรือไม่?

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

6
ฉันจะทดสอบระบบที่วัตถุนั้นยากที่จะเลียนแบบได้อย่างไร
ฉันกำลังทำงานกับระบบต่อไปนี้: Network Data Feed -> Third Party Nio Library -> My Objects via adapter pattern เมื่อเร็ว ๆ นี้เรามีปัญหาเมื่อฉันอัปเดตเวอร์ชันของห้องสมุดที่ฉันใช้ซึ่งทำให้เกิดการประทับเวลา (ซึ่งห้องสมุดของบุคคลที่สามกลับมาเป็นlong) ซึ่งจะเปลี่ยนจากมิลลิวินาทีหลังจากยุคเป็นนาโนวินาทีหลังจากยุค ปัญหา: หากฉันเขียนการทดสอบที่จำลองวัตถุของห้องสมุดบุคคลที่สามการทดสอบของฉันจะผิดถ้าฉันทำผิดเกี่ยวกับวัตถุของห้องสมุดบุคคลที่สาม ตัวอย่างเช่นฉันไม่ทราบว่าการประทับเวลาเปลี่ยนความแม่นยำซึ่งส่งผลให้จำเป็นต้องเปลี่ยนการทดสอบหน่วยเนื่องจากการจำลองของฉันคืนข้อมูลผิด นี่ไม่ใช่ข้อผิดพลาดในไลบรารีมันเกิดขึ้นเพราะฉันพลาดบางสิ่งบางอย่างในเอกสาร ปัญหาคือฉันไม่แน่ใจเกี่ยวกับข้อมูลที่มีอยู่ในโครงสร้างข้อมูลเหล่านี้เพราะฉันไม่สามารถสร้างข้อมูลจริงได้หากไม่มีฟีดข้อมูลจริง วัตถุเหล่านี้มีขนาดใหญ่และซับซ้อนและมีข้อมูลจำนวนมากแตกต่างกัน เอกสารสำหรับห้องสมุดบุคคลที่สามไม่ดี คำถาม: ฉันจะตั้งค่าการทดสอบเพื่อทดสอบพฤติกรรมนี้ได้อย่างไร ฉันไม่แน่ใจว่าฉันสามารถแก้ปัญหานี้ได้ในการทดสอบหน่วยเพราะการทดสอบนั้นผิดพลาดได้ง่าย นอกจากนี้ระบบรวมมีขนาดใหญ่และซับซ้อนและง่ายต่อการพลาดบางสิ่งบางอย่าง ตัวอย่างเช่นในสถานการณ์ข้างต้นฉันได้ปรับการจัดการการประทับเวลาในหลายสถานที่อย่างถูกต้อง แต่ฉันพลาดหนึ่งในนั้น ระบบดูเหมือนจะทำสิ่งที่ถูกต้องเป็นส่วนใหญ่ในการทดสอบการรวมระบบของฉัน แต่เมื่อฉันปรับใช้กับการผลิต (ซึ่งมีข้อมูลมากขึ้น) ปัญหาก็ชัดเจน ตอนนี้ฉันไม่มีกระบวนการทดสอบการรวมเข้าด้วยกัน การทดสอบนั้นสำคัญ: พยายามทำให้การทดสอบหน่วยดีเพิ่มการทดสอบเพิ่มเติมเมื่อสิ่งแตกหักจากนั้นปรับใช้กับเซิร์ฟเวอร์ทดสอบของฉันและตรวจสอบให้แน่ใจว่าสิ่งต่าง ๆ ดูมีเหตุผล ปัญหาการประทับเวลานี้ผ่านการทดสอบหน่วยเนื่องจาก mocks ถูกสร้างขึ้นผิดจากนั้นจะผ่านการทดสอบการรวมเนื่องจากไม่ได้ทำให้เกิดปัญหาที่ชัดเจนและทันที ฉันไม่มีแผนกควบคุมคุณภาพ

5
คุณควรใส่ค่าคงที่ตรงไหนและทำไม?
ในแอปพลิเคชันขนาดใหญ่ส่วนใหญ่ของเราเรามักจะมีเพียงไม่กี่ตำแหน่งสำหรับ "ค่าคงที่": หนึ่งคลาสสำหรับ GUI และค่าคงที่ภายใน (ชื่อแท็บหน้า, ชื่อกลุ่มกล่อง, ปัจจัยการคำนวณ, การแจกแจง) หนึ่งคลาสสำหรับตารางและคอลัมน์ฐานข้อมูล (ส่วนนี้เป็นรหัสที่สร้างขึ้น) พร้อมชื่อที่อ่านได้สำหรับพวกเขา (กำหนดด้วยตนเอง) คลาสหนึ่งสำหรับข้อความแอปพลิเคชัน (การบันทึกกล่องข้อความ ฯลฯ ) ค่าคงที่มักจะถูกแยกออกเป็นส่วนต่าง ๆ ในคลาสเหล่านั้น ในแอปพลิเคชัน C ++ ของเราค่าคงที่จะถูกกำหนดเฉพาะในไฟล์. h และค่าจะถูกกำหนดในไฟล์. cpp ข้อดีอย่างหนึ่งก็คือสตริงทั้งหมด ฯลฯ อยู่ในจุดศูนย์กลางเดียวและทุกคนรู้ว่าจะต้องค้นหาสิ่งใดเมื่อต้องมีการเปลี่ยนแปลง นี่เป็นสิ่งที่ผู้จัดการโครงการดูเหมือนจะเป็นอย่างที่ผู้คนเข้ามาและด้วยวิธีนี้ทุกคนสามารถเปลี่ยนแปลงสิ่งเล็ก ๆ น้อย ๆ ได้โดยไม่ต้องขุดเข้าไปในโครงสร้างของแอปพลิเคชัน นอกจากนี้คุณสามารถเปลี่ยนชื่อของกลุ่มกล่อง / หน้าแท็บที่คล้ายกันได้อย่างง่ายดายในครั้งเดียว อีกแง่มุมหนึ่งคือคุณสามารถพิมพ์คลาสนั้นและมอบให้กับผู้ที่ไม่ใช่โปรแกรมเมอร์ซึ่งสามารถตรวจสอบคำอธิบายภาพว่าใช้งานง่ายหรือไม่และข้อความที่ส่งถึงผู้ใช้นั้นละเอียดเกินไปหรือสับสนเกินไป อย่างไรก็ตามฉันเห็นข้อเสียบางอย่าง: ทุกชั้นเรียนจะถูกผนวกเข้ากับชั้นเรียนอย่างต่อเนื่อง การเพิ่ม / ลบ / เปลี่ยนชื่อ / ย้ายค่าคงที่ต้องมีการคอมไพล์ใหม่อย่างน้อย 90% ของแอปพลิเคชัน …

3
มันเป็นเรื่องธรรมดาหรือไม่ที่จะยกระดับ NotImplementedError สำหรับวิธีการที่การดำเนินการอยู่ระหว่างดำเนินการ แต่ไม่ได้วางแผนที่จะเป็นนามธรรมหรือไม่?
ฉันชอบที่จะเพิ่มNotImplementedErrorวิธีการใด ๆ ที่ฉันต้องการที่จะใช้ แต่ที่ฉันยังไม่ได้ไปรอบ ๆ เพื่อทำมัน ฉันอาจมีการนำไปใช้บางส่วนแล้ว แต่เสริมด้วยraise NotImplementedError()เพราะฉันยังไม่ชอบ ในทางตรงกันข้ามฉันก็ชอบที่จะยึดถืออนุสัญญาเพราะจะทำให้คนอื่น ๆ สามารถรักษารหัสของฉันได้ง่ายขึ้นและการประชุมอาจมีอยู่ด้วยเหตุผลที่ดี อย่างไรก็ตามเอกสาร Pythons สำหรับสถานะNotImplementedError : ข้อยกเว้นนี้ได้มาจาก RuntimeError ในคลาสพื้นฐานที่ผู้ใช้กำหนดเมธอด abstract ควรเพิ่มข้อยกเว้นนี้เมื่อต้องการคลาสที่ได้รับเพื่อแทนที่เมธอด นั่นเป็นกรณีการใช้งานที่เป็นทางการที่เฉพาะเจาะจงมากกว่าที่ฉันอธิบาย มันเป็นสไตล์ที่ดีธรรมดาที่จะยกระดับNotImplementedErrorเพียงเพื่อระบุว่าส่วนหนึ่งของ API นี้เป็นงานที่อยู่ระหว่างดำเนินการหรือไม่ ถ้าไม่มีวิธีมาตรฐานที่แตกต่างกันในการบ่งชี้สิ่งนี้หรือไม่?

3
สิ่งกีดขวางบนถนนเผชิญกับกระบวนการพัฒนาในการใช้ภาษามาร์กอัปข้อความธรรมดาซึ่งตรงกันข้ามกับเช่น Microsoft Word [ปิด]
ขณะนี้ฉันฝึกงานที่ผู้รับเหมาของรัฐบาลและฉันรู้สึกว่า (Word เป็นมาตรฐานจริงในกระบวนการพัฒนาซอฟต์แวร์) รูปแบบไบนารีของมันทำให้ยากมากที่จะทำงานร่วมกันในเอกสารในแบบที่ฉันคุ้นเคยกับการทำงานร่วมกันบนฐานรหัส การใช้มาร์กอัปข้อความธรรมดา (ที่มีภาษาเช่น LaTeX, Markdown, ReStructured Text ฯลฯ ) ช่วยให้เอกสารที่เป็นมิตรแตกต่างที่ทำงานได้ดีกับเวิร์กโฟลว์ปกติของนักพัฒนา ในฐานะที่เป็นสำหรับความคิดเห็นที่ภาษาไม่สนับสนุนพวกเขา (เช่น Markdown) มีโซลูชั่นที่มีอยู่มากมายที่ช่วยให้การแสดงความคิดเห็นร่วมกันบนฐานรหัส (เช่น GitHub, Bitbucket) ที่สามารถได้อย่างง่ายดายนำไปใช้กับไฟล์ข้อความธรรมดาอื่น ๆ ที่มีมาร์กอัป ฉันเข้าใจความต้องการที่จะร่วมมือกับการจัดการที่ไม่รู้หนังสือเกี่ยวกับเทคโนโลยีจำเป็นต้องมีส่วนต่อประสานกราฟิกทุกอย่าง แต่ส่วนต่อประสานดังกล่าวมีอยู่สำหรับรูปแบบเหล่านี้ส่วนใหญ่ ตัวอย่างเช่น LaTeX มี 'fork' ของการเรียงลำดับที่เรียกว่า LyX ที่ทำให้ front-end แบบกราฟิกเป็นข้อความธรรมดา, LaTeX-syntax ไฟล์นี้แม้จะเป็นกราฟิกในการแก้ไขเป็นหลัก แต่ก็ยังเป็นมิตร (นอกจากนี้ยังมีความคิดเห็นสไตล์ Word) โซลูชันเหล่านี้จำนวนมากยังไม่สามารถใช้แทน Word ได้และส่วนใหญ่เป็นฟรีหรือโอเพ่นซอร์ส อย่างไรก็ตามเราใช้ Word แม้สำหรับเอกสารภายในของเราที่ไม่มีใครเห็น เราทำงานกับข้อความเพื่อแสดงถึงอาชีพที่สำคัญของเรา --- ทำไมเอกสารถึงพิเศษมาก? นอกเหนือจากเรื่องเล็กน้อย "เราไม่รู้อะไรดีกว่าและตอนนี้เราติดอยู่ที่นี่" …

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

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

4
มีพื้นที่ที่ TDD ให้ผลตอบแทนการลงทุนสูงและพื้นที่อื่น ๆ ที่ ROI ต่ำมากจนไม่คุ้มกับการติดตามหรือไม่? [ปิด]
ทดสอบการพัฒนาขับเคลื่อน ฉันเข้าใจแล้วชอบ แต่การทดสอบการเขียนจำเป็นต้องมีค่าใช้จ่าย ดังนั้นควรใช้ TDD อย่างครอบคลุมทั่วฐานรหัสหรือมีพื้นที่ที่ TDD ให้ผลตอบแทนการลงทุนที่สูงและพื้นที่อื่น ๆ ที่ ROI ต่ำดังนั้นจึงไม่คุ้มค่าที่จะติดตาม

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

9
ทฤษฎี TDD เท่านั้น
น้อยกว่าหนึ่งปีที่ผ่านมาฉันโชคดีที่สามารถหยุดงานได้ 9 เดือน ฉันตัดสินใจว่าในเวลานั้นฉันจะฝึกฝนทักษะ C # ของฉัน ฉันเริ่มทำงานหลายโครงการและบังคับให้ตัวเองต้องติดตาม TDD มันเป็นกระบวนการที่ค่อนข้างกระจ่างแจ้ง มันยากในตอนแรก แต่เมื่อเวลาผ่านไปฉันเรียนรู้วิธีเขียนโค้ดที่ทดสอบได้มากขึ้น (ซึ่งกลายเป็นว่ามีแนวโน้มที่จะเป็นรหัสที่มั่นคงมากขึ้น) และในกระบวนการฉันก็เพิ่มทักษะการออกแบบ OO ของฉัน ตอนนี้ฉันกลับมาทำงานแล้วและฉันสังเกตเห็นบางสิ่งแปลก ๆ ฉันไม่ต้องการติดตาม TDD ฉันพบว่า TDD ทำให้ฉันช้าลงและทำให้ยากต่อการออกแบบแอปพลิเคชั่นที่สะอาด ฉันได้ใช้แนวทางที่แตกต่างเล็กน้อย (หนาแน่น) แทน เลือกชิ้นงานตามแนวตั้ง พัฒนาต้นแบบการทำงาน Refactor จนกว่าทุกอย่างจะดีและเป็นระเบียบ เอนหลังชื่นชมความสวยงามและรหัสที่ทดสอบได้ที่ฉันเขียน คุณอาจสังเกตเห็นว่าขั้นตอนที่ 1 ไม่ได้ "กำหนดพื้นผิวสาธารณะของเป้าหมายการทดสอบของฉัน" และขั้นตอนที่ 2 ไม่ใช่ "ทดสอบ bejesus จากพื้นผิวสาธารณะดังกล่าว" คุณอาจสังเกตเห็นว่าไม่มีขั้นตอนใดที่เกี่ยวข้องกับการทดสอบ ฉันกำลังเขียนโค้ดที่สามารถทดสอบได้ แต่ฉันยังไม่ได้ทดสอบ ... ตอนนี้ฉันต้องการทำให้ชัดเจนว่าจริง ๆ แล้วฉันไม่ได้ทำการทดสอบใด ๆ รหัสที่ฉันกำลังเขียนนั้นใช้งานได้ …

4
วิธีที่จะหยุดการชุบทองและเพียงแค่มีเนื้อหาที่จะปล่อยการพัฒนาที่ทำงาน [ปิด]
ทีมพัฒนาที่ฉันเป็นสมาชิกอยู่เพิ่งปรับตัวให้ทำงานตามแนวทางของ Agile นี่เป็นการเน้นย้ำถึงความจริงที่ว่าฉันไม่สามารถหยุดตัวเองให้เป็นรหัสชุบทอง (และเอกสารประกอบ) และฉันก็เกินกว่าที่คาดการณ์ไว้เดิมเมื่อฉันสามารถส่งมอบโซลูชันที่ตรงตามข้อกำหนดก่อนหน้านี้มาก ฉันคิดว่าจรรยาบรรณของฉันติดอยู่ที่ครอบงำซึ่งฉันติดอยู่กับรหัสของฉันและไม่ค่อยมีเนื้อหาที่จะปล่อยออกมาก่อนที่ฉันจะปรับโครงสร้างและทำให้สมบูรณ์ในระดับที่ n ฉันมีความสุขที่ฉันได้ตระหนักถึงสิ่งนี้ แต่ฉันจะเปลี่ยนทัศนคติ / ความคิดของฉันให้เป็นเนื้อหาที่มีความคืบหน้าและปล่อยตรงเวลาได้อย่างไร

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