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

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

10
ฉันไม่สามารถโปรแกรมได้เนื่องจากรหัสที่ฉันใช้นั้นใช้รูปแบบการเข้ารหัสแบบเก่า นี่เป็นเรื่องปกติสำหรับโปรแกรมเมอร์หรือไม่
ฉันมีงานจริงครั้งแรกของฉันในฐานะโปรแกรมเมอร์ แต่ฉันไม่สามารถแก้ปัญหาใด ๆ ได้เพราะใช้รูปแบบการเข้ารหัส รหัสที่นี่: ไม่มีความคิดเห็น ไม่มีฟังก์ชั่น (เรียงตามลำดับ 50, 100, 200, 300 หรือมากกว่า) ใช้ข้อความมากมายที่ifมีเส้นทางจำนวนมาก มีตัวแปรที่ทำให้รู้สึกไม่ (เช่น .: cf_cfop, CF_Natop, lnom, r_procod) ใช้ภาษาเก่า (Visual FoxPro 8 จากปี 2002) แต่มีรุ่นใหม่จากปี 2007 ฉันรู้สึกเหมือนฉันย้อนกลับไปเมื่อปี 1970 มันเป็นเรื่องปกติสำหรับโปรแกรมเมอร์ที่คุ้นเคยกับ OOP รหัสสะอาดรูปแบบการออกแบบและอื่น ๆ หรือไม่ที่จะมีปัญหากับการเข้ารหัสด้วยวิธีแบบเก่านี้หรือไม่? แก้ไข : คำตอบทั้งหมดดีมาก สำหรับความหวังของฉัน (un) ปรากฏว่ามีฐานรหัสประเภทนี้มากมายทั่วโลก จุดที่กล่าวถึงคำตอบทั้งหมดคือ refactor รหัส ใช่ฉันชอบที่จะทำมัน ในโครงการส่วนบุคคลของฉันฉันทำเช่นนี้เสมอ แต่ ... ฉันไม่สามารถกำหนดรหัสซ้ำได้ …

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

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

13
คุณจัดการกับผู้เก็บข้อมูลได้อย่างไร [ปิด]
เราต้องเจอพวกมันทั้งหมด - นักพัฒนาที่มีมานานแล้วและมีความรู้เกี่ยวกับโดเมนที่ยอดเยี่ยม แต่พวกเขาก็ไม่สามารถแบ่งปันความรู้นั้นกับทีมของพวกเขาได้ ทีมต้องการการแบ่งปันความรู้อย่างยิ่ง แต่พวกเขาไม่สามารถแงะมันออกไปจากผู้สะสม ทีมประสบความสำเร็จในการแก้ไขปัญหานี้ในทางใดบ้าง

16
ฉันกำลังเขียนเกี่ยวกับไวยากรณ์ภาษา มีภาษาใดบ้างที่มีพารามิเตอร์ใดวางอยู่ภายในชื่อเมธอด?
ใน JavaScript: function getTopCustomersOfTheYear(howManyCustomers, whichYear) { // Some code here. } getTopCustomersOfTheYear(50, 2010); ใน C #: public List<Customer> GetTopCustomersOfTheYear(int howManyCustomers, int whichYear) { // Some code here } List<Customer> customers = GetTopCustomersOfTheYear(50, 2010); ใน PHP: public function getTopCustomersOfTheYear($howManyCustomers, $whichYear) { // Some code here } $customers = getTopCustomersOfTheYear(50, 2010); มีภาษาใดบ้างที่สนับสนุนไวยากรณ์นี้: …

10
IT headhunters / นายหน้ามีประโยชน์อย่างไรเมื่อมองหางานใหม่? [ปิด]
เนื่องจากมีหลายสาขาที่มีประโยชน์แตกต่างกันไปฉันจึงสงสัยว่าชื่อเสียงของ headhunters / นายหน้าที่เน้นไปที่ผู้เชี่ยวชาญด้านไอทีเท่านั้น (เช่นโปรแกรมเมอร์วิศวกรซอฟต์แวร์ CIO ฯลฯ ) เมื่อมาถึงการหางานใหม่ พวกเขามีประโยชน์จริง ๆ หรือมันถูกตีหรือคิดถึงค่อนข้าง สุภาษิตโบราณของการทำงานกับจำนวน จำกัด เท่านั้นหรือคุณสามารถให้เรซูเม่ / CV แก่พวกเขาอย่างปลอดภัยหรือไม่?
29 profession 

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

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

12
นักพัฒนามีปัญหาอะไรกับข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์? [ปิด]
มันยังคง astounds ฉันว่าในวันนี้และอายุผลิตภัณฑ์ที่มีปีของการใช้งานภายใต้เข็มขัดของพวกเขาสร้างขึ้นโดยทีมงานมืออาชีพยังคงไปในวันนี้ - ไม่ให้ข้อความผิดพลาดที่เป็นประโยชน์ให้กับผู้ใช้ ในบางกรณีการเพิ่มข้อมูลเพิ่มเติมเพียงเล็กน้อยอาจช่วยให้ผู้ใช้ไม่ต้องประสบปัญหาอีกต่อไป โปรแกรมที่สร้างข้อผิดพลาดสร้างขึ้นด้วยเหตุผล มีทุกสิ่งที่จำเป็นเพื่อแจ้งให้ผู้ใช้ทราบถึงสาเหตุที่ทำให้เกิดข้อผิดพลาด และดูเหมือนว่าการให้ข้อมูลเพื่อช่วยเหลือผู้ใช้มีความสำคัญต่ำ ฉันคิดว่านี่เป็นความล้มเหลวครั้งใหญ่ ตัวอย่างหนึ่งมาจาก SQL Server เมื่อคุณลองและกู้คืนฐานข้อมูลที่ใช้งานอยู่มันจะไม่ถูกต้องนัก SQL Server รู้ว่ากระบวนการและแอปพลิเคชันใดกำลังเข้าถึง เหตุใดจึงไม่สามารถรวมข้อมูลเกี่ยวกับกระบวนการที่ใช้ฐานข้อมูลได้ ฉันรู้ว่าทุกคนไม่ส่งApplicatio_Nameแอตทริบิวต์ในสตริงการเชื่อมต่อของพวกเขา แต่แม้แต่คำแนะนำเกี่ยวกับเครื่องที่เป็นปัญหาอาจมีประโยชน์ ตัวเลือกอื่นเช่น SQL Server (และ mySQL) คือstring or binary data would be truncatedข้อความแสดงข้อผิดพลาดที่น่ารักและรายการเทียบเท่า บ่อยครั้งที่การอ่านคำสั่ง SQL อย่างง่าย ๆ ที่สร้างขึ้นและตารางแสดงว่าคอลัมน์ใดเป็นผู้ร้าย นี่ไม่ใช่กรณีเสมอไปและหากเอ็นจิ้นฐานข้อมูลหยิบขึ้นมาบนข้อผิดพลาดทำไมมันไม่สามารถช่วยเราได้ในเวลานั้นและเพียงแค่บอกเราว่ามันเป็นคอลัมน์ใด ในตัวอย่างนี้คุณสามารถยืนยันว่าอาจมีการแสดงที่มีประสิทธิภาพในการตรวจสอบและสิ่งนี้อาจเป็นอุปสรรคต่อผู้เขียน ใช่ฉันจะซื้อมัน เมื่อกลไกจัดการฐานข้อมูลรู้ว่ามีข้อผิดพลาดจะทำการเปรียบเทียบอย่างรวดเร็วหลังจากความจริงระหว่างค่าที่จะถูกจัดเก็บเทียบกับความยาวคอลัมน์ จากนั้นแสดงให้ผู้ใช้เห็น Adaptors Table ที่น่ากลัวของ ASP.NET ก็มีความผิดเช่นกัน สามารถดำเนินการค้นหาและสามารถได้รับข้อความแสดงข้อผิดพลาดที่บอกว่าข้อ จำกัด บางแห่งกำลังถูกละเมิด …

9
การพัฒนาเว็บกับการพัฒนาเดสก์ท็อป - การพัฒนาเว็บนั้นแย่กว่านี้หรือไม่? [ปิด]
ในฐานะที่เป็นผู้พัฒนาเดสก์ท็อปที่รู้จักกันมานานในการทำเว็บแอพพลิเคชั่นขนาดใหญ่ครั้งแรกของเราข้อดีและข้อเสียของการพัฒนาเว็บคืออะไร การพัฒนาแอปพลิเคชันบนเว็บเลวร้ายยิ่งกว่าการพัฒนาแอปเดสก์ท็อปหรือไม่? เช่นมันน่าเบื่อหรือน่ารำคาญกว่านี้ไหม? เวลาในการทำตลาดแย่ลงหรือไม่? แพลตฟอร์มเว็บมีการ จำกัด มากเกินไปหรือไม่? หากคำตอบของสิ่งเหล่านี้คือใช่แล้วทำไม? (และเปรียบเทียบการพัฒนาแอป Flash หรือ Silverlight อย่างไร)

11
จะพูดอย่างไรเมื่อคุณไม่รู้คำตอบของคำถามสัมภาษณ์ [ปิด]
เมื่อคุณไม่มีเงื่อนงำเกี่ยวกับคำถามคุณจะตอบ / กระทำเมื่อคุณไม่รู้คำตอบได้อย่างไร การบอกความจริงค่อนข้างชัดเจน แต่คุณจะลองเปลี่ยนจุดอ่อนนี้ให้เป็นจุดแข็งได้อย่างไร
29 interview 

12
ชั้นเรียนมีขนาดใหญ่แค่ไหน?
ฉันเป็นนักพัฒนาที่ยาวนาน (ฉันอายุ 49 ปี) แต่ค่อนข้างใหม่สำหรับการพัฒนาเชิงวัตถุ ฉันได้อ่านเกี่ยวกับ OO มาตั้งแต่ไอเฟลของ Bertrand Meyer แต่ได้เขียนโปรแกรม OO น้อยมาก ประเด็นก็คือหนังสือทุกเล่มเกี่ยวกับการออกแบบ OO เริ่มต้นด้วยตัวอย่างของเรือรถยนต์หรือสิ่งของทั่วไปที่เราใช้บ่อยมากและพวกเขาก็เริ่มเพิ่มคุณสมบัติและวิธีการและอธิบายว่าพวกเขาจำลองสถานะของวัตถุอย่างไรและสามารถทำอะไรได้บ้าง มัน. ดังนั้นพวกเขาจึงมักจะไปบางอย่างเช่น "ยิ่งโมเดลดีขึ้นเท่าไรมันก็จะแสดงวัตถุในแอปพลิเคชันได้ดีเท่านั้นและยิ่งออกมาดีกว่า" จนถึงตอนนี้ดี แต่ในทางกลับกันฉันได้พบผู้เขียนหลายคนที่ให้สูตรเช่น "คลาสควรพอดีในหน้าเดียว" (ฉันจะเพิ่ม "ในขนาดจอภาพอะไร?" ตอนนี้เราพยายามไม่ เพื่อพิมพ์รหัส!) ยกตัวอย่างเช่นPurchaseOrderคลาสที่มีเครื่องสถานะ จำกัด ควบคุมพฤติกรรมและคอลเลกชันPurchaseOrderItemหนึ่งในข้อโต้แย้งที่นี่ในที่ทำงานคือเราควรใช้PurchaseOrderคลาสที่เรียบง่ายด้วยวิธีการบางอย่าง (น้อยกว่าคลาสข้อมูล) และมีPurchaseOrderFSM“ชั้นผู้เชี่ยวชาญ” ที่จับเครื่องสถานะ จำกัด PurchaseOrderสำหรับ ฉันจะบอกว่าตกอยู่ในหมวดหมู่ "อิจฉาคุณสมบัติ" หรือ "ความไม่เหมาะสมที่ใกล้ชิด" ของการโพสต์โค้ดของ Jeff Atwood's Smellsเมื่อสยองขวัญการเข้ารหัส ฉันแค่เรียกมันว่าสามัญสำนึก ถ้าผมสามารถออกอนุมัติหรือยกเลิกคำสั่งซื้อของฉันจริงแล้วPurchaseOrderชั้นควรมีissuePO, approvePOและcancelPOวิธีการ นั่นไม่ได้เกิดขึ้นกับ "การเพิ่มการเชื่อมโยงสูงสุด" และ "ลดการแต่งงาน" หลักการเก่า …

13
วิธีปรับปรุงความสามารถในการดีบักโค้ดที่มีอยู่ [ปิด]
งานทั่วไปในโลกแห่งการทำงานนั้นเกี่ยวข้องกับโค้ดที่มีอยู่ แต่มีบั๊กกี้ อะไรคือเคล็ดลับในการพัฒนาทักษะของคุณในฐานะนักดีบัก?
29 debugging 

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

8
คุณให้การทดสอบหน่วยของคุณใช้งานได้อย่างไรเมื่อทำการปรับโครงสร้างใหม่
ในอีกคำถามหนึ่งพบว่าหนึ่งในความเจ็บปวดกับ TDD กำลังรักษาชุดการทดสอบให้สอดคล้องกับรหัสฐานระหว่างและหลังการปรับโครงสร้างใหม่ ตอนนี้ฉันเป็นแฟนตัวยงของการฟื้นฟู ฉันจะไม่ยอมแพ้ที่จะทำ TDD แต่ฉันยังประสบปัญหาของการทดสอบที่เขียนในลักษณะที่การปรับเปลี่ยนเล็กน้อยทำให้เกิดความล้มเหลวในการทดสอบมากมาย คุณจะหลีกเลี่ยงการทำลายการทดสอบเมื่อทำการเปลี่ยนโครงสร้างใหม่ได้อย่างไร คุณเขียนแบบทดสอบ 'ดีกว่า' หรือไม่? ถ้าเป็นเช่นนั้นคุณควรมองหาอะไร คุณหลีกเลี่ยงการ refactoring บางประเภทหรือไม่ มีเครื่องมือทดสอบการปรับโครงสร้างใหม่หรือไม่? แก้ไข:ฉันเขียนคำถามใหม่ที่ถามสิ่งที่ฉันต้องการถาม (แต่เก็บไว้เป็นตัวแปรที่น่าสนใจ)

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