ฉันทำคะแนนเรื่องราวได้มากกว่า 4-5 เท่าโดยเฉลี่ย แต่สร้างข้อบกพร่องในอัตราครึ่งหนึ่ง กราฟบอกว่ามันเป็นข้อผิดพลาดมากกว่า 2x วิธีจัดการกับมันได้อย่างไร


43

ดังนั้นจึงเป็นที่ยอมรับกันโดยทั่วไปว่าโปรแกรมเมอร์ระดับสูงสามารถสร้างลำดับความสำคัญได้มากกว่า / ดีกว่ารหัสโดยเฉลี่ย

เป็นที่ยอมรับกันโดยทั่วไปว่าอัตราข้อผิดพลาดที่เกิดขึ้นในโค้ดนั้นค่อนข้างคงที่สำหรับโปรแกรมเมอร์

แต่มีแนวโน้มที่จะได้รับผลกระทบจากกระบวนการที่ใช้เมื่อเขียนรหัสและหลังจากเขียนรหัสแล้ว (ตามที่ฉันเข้าใจ) มนุษย์มักจะทำผิดพลาดในอัตราที่ค่อนข้างคงที่ - โปรแกรมเมอร์ที่ดีกว่าเพียงสังเกตเห็นพวกเขามากขึ้น

  • โปรดทราบว่าการยืนยันทั้งสองข้างต้นมาจากCode Completeโดย Steve McConnell ดังนั้นจึงไม่ใช่เรื่องของมุมมองที่แตกต่าง

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

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

ฉันพยายามที่จะชี้ให้เห็นว่าฉันผลิตข้อบกพร่องในอัตราครึ่งหนึ่งของเพื่อนของฉัน (และแก้ไขสองเท่าเป็นจำนวนมาก) แต่มันเป็นเรื่องยากที่จะขายเมื่อมีกราฟบอกว่าฉันผลิตข้อผิดพลาดเป็นสองเท่า

ดังนั้นวิธีจัดการกับความจริงที่ว่าผลผลิตที่เพิ่มขึ้นจะนำไปสู่การเพิ่มจำนวนข้อบกพร่อง?


27
หรือช้าลงเพื่อให้คุณสามารถทำให้ถูกต้อง
Brandon

29
จากมุมมองที่ใช้งานได้จริงดูเหมือนว่าคุณได้รับการจ่ายเงินมากขึ้นสำหรับการหลีกเลี่ยงข้อผิดพลาดมากกว่าการสร้างรหัส ดังนั้นใช้เวลา 1/4 วันในการเขียนโค้ดให้กับ บริษัท ของคุณและใช้เวลาที่เหลือในการเขียนโค้ดสำหรับโครงการด้านข้างของคุณเอง ตามเกณฑ์ที่เขาตั้งไว้เจ้านายของคุณควรจะรักคุณ
Rob

14
ฉันไม่เข้าใจว่าทำไมชุมชนของเราดูเหมือนจะฉลอง "ความเร็ว" มากกว่าความถูกต้อง และฉันเขียน "ความเร็ว" ในเครื่องหมายคำพูดเพราะถ้าคุณต้องย้อนกลับไปแก้ไขสิ่งต่าง ๆ บางทีความเร็วนั้นอาจไม่จริง ในที่สุดคุณจะได้รับเงินสำหรับการส่งมอบซอฟต์แวร์ที่ใช้งานได้ หากการเขียนโค้ดเร็วกว่าค่าเฉลี่ยแสดงว่าคุณกำลังสร้างข้อบกพร่องไม่ว่าจะเป็นการข้ามการทดสอบหรือไม่เข้าใจข้อกำหนดอย่างถูกต้องจากนั้นใช้เวลาสักครู่ที่คุณ "ว่าง" และใช้มันในการปรับปรุงการทดสอบ / การทำความเข้าใจความต้องการของคุณ TDD?) ลุงบ๊อบพูดว่า "ถ้าคุณต้องการที่จะไปเร็วไปได้ดี"
MichelHenrich

9
วิธีที่คุณแก้ไขปัญหานี้คือการแก้ไขเมตริก
Robert Harvey

24
@MichelHenrich: ถ้าเขาสร้างข้อบกพร่องในอัตราครึ่งหนึ่งของเพื่อนร่วมงานของเขาความเร็วก็ไม่ได้เป็นปัญหา การจัดการเป็นปัญหา คุณกำลังอ่านตัวชี้วัดที่โง่เหล่านี้ในแบบเดียวกับที่เจ้านายของเขาเป็น
Robert Harvey

คำตอบ:


41

ฉันคิดว่าคุณกำลังผสมความกังวลของคุณ และมีอะไรที่เกี่ยวกับของคุณด้านที่คุณจำเป็นต้องมีการเปลี่ยนแปลง

ผลผลิตเป็นคำใบ้ว่าโครงการจะเสร็จสมบูรณ์เร็วแค่ไหน ผู้จัดการโครงการและทุกคนต้องการทราบว่าโครงการจะส่งมอบเมื่อใด ผลผลิตที่สูงขึ้นหรือเร็วขึ้นหมายความว่าเราจะเห็นโครงการส่งมอบได้เร็วขึ้น

อัตราข้อบกพร่องไม่ได้ผูกติดอยู่กับผลผลิต แต่ขึ้นกับขนาดของโครงการ ตัวอย่างเช่นคุณอาจมีNข้อบกพร่องต่อYบรรทัดของรหัส ไม่มีสิ่งใดในเมตริกนั้นที่บอกว่า (หรือใส่ใจ!) ความรวดเร็วในการเขียนโค้ดเหล่านั้น

หากคุณมีความสามารถในการผลิตที่สูงขึ้นใช่คุณจะ "เห็น" ข้อบกพร่องที่เขียนเร็วขึ้น แต่คุณจะมีข้อผิดพลาดจำนวนนั้นอยู่แล้วเนื่องจากมันเชื่อมโยงกับขนาดของโครงการ

หากมีสิ่งใดผลผลิตที่สูงกว่าหมายความว่าคุณจะมีเวลามากขึ้นในตอนท้ายของโครงการเพื่อตามล่าข้อบกพร่องเหล่านั้น 1


เพื่อตอบคำถามส่วนตัวของคุณให้มากขึ้น

หากเจ้านายของคุณกำลังดูจำนวนข้อบกพร่องที่คุณผลิตอย่างเคร่งครัดเมื่อเทียบกับอัตราของข้อบกพร่องที่คุณผลิต จำนวนข้อผิดพลาดที่สร้างขึ้นไม่มีความหมายโดยไม่มีอัตราการสำรองข้อมูล

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

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


1 ความคิดเห็นเฉพาะนี้ได้ดึงดูดความสนใจมากกว่าที่ตั้งใจไว้ งั้นเรามาคุยกันหน่อย (แปลกใจรู้แล้ว) และตั้งค่าการมุ่งเน้นที่คำถามนี้

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

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

ดังนั้นในที่สุดเรามากลับไปที่ความคิดเห็นนี้ที่เข้าใจผิดบางอย่าง หากคุณมอบหมายงานที่มีขนาดที่เปรียบเทียบได้ให้กับผู้พัฒนาสองรายผู้พัฒนาที่มีอัตราการผลิตสูงกว่าจะทำงานให้เสร็จก่อนงานอื่น ผู้พัฒนาที่มีประสิทธิผลมากขึ้นจะมีเวลามากขึ้นในตอนท้ายของหน้าต่างการพัฒนา "เวลาพิเศษ" (เมื่อเทียบกับผู้พัฒนารายอื่น) สามารถใช้สำหรับงานอื่น ๆ เช่นการทำงานกับข้อบกพร่องที่จะไหลผ่านกระบวนการพัฒนามาตรฐาน

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


43
"การวัดความคืบหน้าการเขียนโปรแกรมด้วยบรรทัดของรหัสเป็นเหมือนการวัดความคืบหน้าการสร้างเครื่องบินด้วยน้ำหนัก -Bill Gates
Neil

40
โปรแกรมที่ยอดเยี่ยมอาจทำให้เกิดข้อผิดพลาดมากกว่าโปรแกรมเมอร์ทั่วไปเพราะโปรแกรมที่ดีมักจะทำงานกับปัญหาที่หนักกว่า
hlovdal

4
บั๊ก / เคไลน์หรือบั๊ก / สตอรีพอยท์จะเป็นอัตราที่ยุติธรรม ฉันจะวิ่งเร็วเท่าที่จะทำได้ถ้าหัวหน้าต้องการใช้บั๊ก / ชั่วโมงเป็นอัตรา
Bart van Ingen Schenau

4
"นักพัฒนาที่ดีที่สุดของคุณควรสร้างข้อผิดพลาดเพิ่มขึ้นเพราะพวกเขากำลังเขียนรหัสเพิ่มเติม" ไม่พวกเขาควรจะป้องกันบั๊กหรือทำให้ฟีเจอร์อื่น ๆ สมบูรณ์ บ่อยครั้งที่หมายความว่าพวกเขาเขียนโค้ดน้อยลงหรือแม้แต่เอาโค้ดออก (คุณอาจจะรู้ว่าไม่ได้เขียนแบบนั้น) ในบางอุตสาหกรรมที่ฉันทำงาน (เช่นอวกาศและนิวเคลียร์) รหัสเดียวที่นับได้คือรหัสที่พิสูจน์แล้วว่าไม่มีข้อบกพร่อง สิ่งอื่นใดที่เป็นเสียงรบกวน
Pete Kirkham

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

21

ใช้เวลาทำความสะอาดขัดและทดสอบโค้ดของคุณเป็นพิเศษ จะยังคงมีข้อผิดพลาด แต่จะมีน้อย นั่นต้องใช้เวลา อัตราการส่งออกรหัสของคุณจะลดลง แต่การส่งออกรหัสปราศจากข้อบกพร่องของคุณจะเพิ่มขึ้นและนั่นจะส่งผลให้ผลผลิตดีขึ้น เพราะข้อบกพร่องมีราคาแพง

คุณสามารถเก็บรหัสของคุณในสาขาหรือสภาพแวดล้อมการทดสอบจนกว่าคุณจะเตะมันไปรอบ ๆ และจับแมลงมากขึ้น โดยทั่วไปแล้วบักในสาขาทำให้เกิดคลื่นน้อยกว่าบั๊กในรหัสการผลิต

แต่ฉันไม่ได้ขุดคำยืนยันของคุณที่นำไปสู่คำถามของคุณ และบางทีเจ้านายของคุณก็ไม่ได้เป็นเช่นนั้น

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

ในท้ายที่สุดถ้าเจ้านายต้องการรหัสที่สะอาดกว่าให้รหัสที่สะอาดกว่าแก่เขา


4
+1 ฉันไม่รู้ว่าทำไมคำตอบอื่นมี upvotes มากมาย ดูเหมือนว่าคุณให้เหตุผลที่ดีแก่เจ้านายของคุณแล้วและเขาก็ไม่ฟัง ดังนั้นใช้เวลาทดสอบมากขึ้นและใช้เวลาน้อยลงในการ "ปล่อย" บรรทัดโค้ด หากไม่เป็นไรเปลี่ยนงาน
durron597

21

ฉันจะออกไปที่กิ่งและเป็นผู้สนับสนุนของปีศาจ ไม่ได้หมายความว่าฉันไม่เห็นด้วยกับชะตากรรมของคุณ แต่ความเห็นอกเห็นใจของฉันจะไม่ช่วยคุณ อนุญาตให้ฉันเพิ่มมุมมองของ Philip :

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

ในปัญหาหลังเหตุการณ์ข้อบกพร่องส่วนใหญ่สามารถป้องกันได้อย่างชัดเจน ถ้าเพียง แต่คุณระวังตัวมากขึ้นเจ้านายของคุณจะรู้สึกว่าคุณสามารถหลีกเลี่ยงปัญหาเหล่านี้และการทำความสะอาดที่จำเป็น จากมุมมองของเขานั่นเป็นเรื่องเล็กน้อยที่น่าตื่นเต้นที่จะถามและการโต้เถียงใด ๆ ที่คุณทำเกี่ยวกับมันคือทั้งไม่ไปทำงานและจะทำให้คุณดูแย่

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

นั่นคือมุมมอง ทีนี้คุณจะ 'แก้ไข' สถานการณ์ที่น่าผิดหวังนี้ได้อย่างไร?

ทำช้าลงเล็กน้อย พูดถึงอย่างชัดเจนว่าใครก็ตามที่กระจายงานที่คุณกำลังพยายามลดอัตราบั๊ก (*) เพื่อที่พวกเขาจะไม่แปลกใจกับการลดลงของคุณ หากมีสิ่งใดการชะลอตัวลงจะช่วยลดจำนวนข้อบกพร่องที่ได้รับมอบหมายจากคุณเนื่องจากอุปทานไม่เพียงพอ

(*) มีความแตกต่างระหว่างการเป็นบนมือข้างหนึ่งยอมรับว่ามีมีข้อบกพร่องให้ชื่อของคุณและคุณจะพยายามที่จะลดจำนวนเงินที่และในมืออื่น ๆ ที่ยอมรับว่าคุณมีมากเกินไปข้อบกพร่องให้ชื่อของคุณและควร เริ่มปฏิบัติ.

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


4
คำตอบที่ฉันโปรดปรานและสิ่งที่ใกล้เคียงที่สุดที่ฉันอยากจะเพิ่ม: อะไรคือมูลค่าของคะแนนเรื่องราวที่สมบูรณ์และค่าใช้จ่ายของบั๊กที่มีต่อ บริษัท เป็นเท่าใด OP อาจพบกับสิ่งเหล่านั้นที่ถ่วงน้ำหนักโดยลำดับความสำคัญของผู้บังคับบัญชาซึ่งในความเป็นจริงมีประสิทธิผลมากขึ้นในการสร้างรหัสเพียงสองเท่าของ dev อื่น ๆ แต่มีข้อบกพร่องน้อยกว่ามาก
Neil Slater

2
ประเด็นของคุณเกี่ยวกับการฝึกนั้นขึ้นอยู่กับหลาย ๆ อย่าง โดยเฉพาะอย่างยิ่งรอบการทำงาน ถ้าสว่านทำงานได้ 24/7 และทำงานเร็วสี่ครั้งและหยุดลงสองครั้งบ่อยครั้งคุณควรพิจารณาประสิทธิภาพของสว่านอย่างน้อยที่สุด เพราะถ้ามันมีค่าใช้จ่ายอะไรน้อยกว่าสองเท่าของสว่านธรรมดาและคุณสามารถใช้มันเป็นค่าที่ดีกว่า คุณก็รู้เศรษฐศาสตร์ คุณบอกให้เขาพิจารณาถึงมูลค่างานของเขาเทียบกับราคาของมัน อัตราส่วนต้นทุนผลประโยชน์ของเขาดีเป็นสองเท่าของเพื่อน
nomen

1
@ ผู้หญิงโอ้ แต่ฉันเห็นด้วย: ผู้คนควรคำนึงถึงเรื่องนี้อย่างแน่นอน แต่พวกเขา
JvR

20

สมมติว่าคุณจะผลิต "จำนวน" ของรหัสเช่นเดียวกับเพื่อนร่วมงานของคุณในเวลา 20% ของเวลาคุณสามารถใช้ 4 เท่าในการดีบักโค้ดจริง ๆ และทำให้สมบูรณ์แบบซึ่งจะลดอัตราบั๊กของคุณได้มากขึ้น จากนั้นคุณสามารถเรียกตัวเองว่าเป็นโปรแกรมเมอร์ที่ดี

คำถามที่ใหญ่ที่สุดคือเหตุผลที่คุณเข้ารหัสเป็น 5 เท่ามากกว่าคนอื่น ๆ แทนที่จะมุ่งไปที่คุณภาพ นี่คือสิ่งที่อัตตาของคุณบอกคุณหรือเจ้านายของคุณบังคับคุณ?

นอกจากนี้คุณต้องพิจารณาค่าใช้จ่ายสำหรับการแก้ไขข้อบกพร่อง เมื่อคุณพบมัน แต่เนิ่นๆคุณอาจยัง "อยู่ใน" โค้ดเพียงพอที่จะแก้ไขได้อย่างรวดเร็ว หากปรากฏขึ้นหลังจากผ่านไปหนึ่งเดือนของการพัฒนาอาจเป็นเรื่องยากที่จะค้นหาหรือแม้แต่บังคับให้คุณเปลี่ยนส่วนใหญ่ของรหัสที่ตั้งโปรแกรมไว้แล้ว

ดูเหมือนว่าคุณมีชุดทักษะในการสร้างรหัสและคุณสามารถทำให้มันยอดเยี่ยมถ้าคุณให้ความสำคัญกับคุณภาพแทนความเร็ว ลองซักพักเดาว่าคุณจะชอบมันไหม

ปัญหาต่อไปคือการได้รับการยอมรับ (พูดเงิน) เพื่อประสิทธิภาพที่ดีขึ้นของคุณ พูดคุยกับเจ้านายของคุณและถามเขาว่าจะดำเนินการต่ออย่างไรเป็น บริษัท และเงินของเขาหลังจากทั้งหมดและถ้าเขาต้องการให้คุณสร้างข้อบกพร่องน้อยลงเขาควรตัดสินใจด้วยวิธีที่มันเกิดขึ้น


11
OP ส่งคะแนนเรื่องราว 500% ของสมาชิกในทีมคนอื่นโดยมีข้อบกพร่องน้อยลง 60% ต่อคะแนนและคุณต้องการเปลี่ยนวิธีการทำงานของเขาหรือไม่?
Justin

6
" คำถามที่ยิ่งใหญ่ที่สุดคือทำไมคุณถึงเข้ารหัส 5 เท่าให้กับผู้อื่นแทนที่จะตั้งเป้าหมายคุณภาพ [... ] ให้ความสำคัญกับคุณภาพมากกว่าความเร็ว " - คุณทำให้วันของฉันเป็นของผู้ชาย ใครก็ตามที่สนับสนุนสิ่งนี้: โปรดทำการบ้านคณิตศาสตร์พื้นฐานของคุณ เพื่อบอกอย่างตรงไปตรงมา: ฉันจะจ้าง OP ทันทีและปฏิเสธที่จะจ้างคุณ
JensG

1
คณิตศาสตร์อาจผิด แต่ฉันคิดว่าประเด็นนั้นถูกต้อง ฉันอยากจ้างคนที่มีเป้าหมายเพื่อคุณภาพที่สูงกว่าให้ทำงานใน บริษัท ปัจจุบันของฉัน ความต้องการที่แตกต่างกันโดยเฉพาะอย่างยิ่งตามอุตสาหกรรมและขนาดของ บริษัท
Michael Durrant

1
ฉันอยากจะจ้างคนที่ทำในสิ่งที่เจ้านายของเขาขอให้เขาทำแทนที่จะบ่นเกี่ยวกับมันบนอินเทอร์เน็ต บางครั้งเจ้านายก็รู้ดีที่สุด
Dawood พูดว่าคืนสถานะโมนิก้า

8

นักพัฒนาสามารถมีความสว่างอัจฉริยะแม้กระทั่งมีความสามารถในการทำความเข้าใจและเขียนโปรแกรมเดี่ยวโดยไม่ต้องเป็นนักพัฒนาที่ดี นักพัฒนาที่ดีจะสร้างผลงานที่มีคุณภาพและทำให้โครงการทั้งหมดดีขึ้น

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

สิ่งที่ฉันต้องการจากเขาคือการทำให้ช้าลงและใช้เวลามากขึ้น: 1) การปรับปรุงคุณภาพของ codebase 2) การสื่อสารกับทีม 3) การทำงานกับสิ่งต่าง ๆ ที่ช่วยคนอื่น ๆ เป็นโรคจิต

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


1
จุดที่ดี ฉันไม่เห็นด้วยกับการเพิ่มความคิดเห็น (เนื่องจากรหัสที่ชัดเจนและอ่านได้ดีกว่าจะดีกว่า) และเราวัดตามจุดเนื้อเรื่องไม่ใช่บรรทัดของโค้ด ฉันรู้สึกว่าฉันทำงานได้ดีกับเรื่องนี้ (การตรวจสอบโค้ดช่วยให้ผู้คนช่วยฉันทำสิ่งต่าง ๆ ให้ชัดเจน) แต่ +1 เพราะไม่ใช่ทุกคนที่ทำอย่างแน่นอน
Telastyn

1
ฉันไม่ได้ตั้งใจที่จะเพิ่มความคิดเห็นปุย / หม้อไอน้ำ ฉันเพิ่งตั้งสมมติฐานว่าคุณเป็นเหมือนพวกเราส่วนใหญ่และไม่ได้แสดงความคิดเห็นมากพอ ใช่อยู่ห่างจากความคิดเห็นที่ไร้ค่าโดยเฉพาะอย่างยิ่งศิลปะ ASCII แฟนซี, เว้นแต่บางอารมณ์ดี :)
codenheim

4
จากประสบการณ์ของฉันความคิดเห็นมักมีข้อบกพร่อง
Dawood พูดว่าคืนสถานะโมนิก้า

ไม่ใช่ประเภทที่ใช้งานได้และสามารถวัดได้ ...
codenheim

6
@DavidWallace ในรหัสประสบการณ์ของฉันมักจะมีข้อบกพร่อง ไม่ได้หมายความว่าคุณจะหยุดเขียน
Charles E. Grant

4

การพยายามที่จะสอนการจัดการนั้นไม่ใช่การเริ่มต้น มีความคิดโบราณ "คุณจะเชื่อฉันหรือนัยน์ตาของคุณ?" สิ่งที่เกี่ยวข้องกับเจ้านายของคุณคือข้อบกพร่อง การหาเหตุผลเข้าข้างตนเองไม่มีจำนวนจะบอกพวกเขาว่ามันเป็นที่ยอมรับ มันมีความเสี่ยงมากกว่าสองเท่า นอกจากนี้คุณไม่ใช่คนเดียวที่ได้รับผลกระทบจากการนับบั๊กของคุณ QA มีงานสองเท่าที่พยายามระบุข้อบกพร่องของคุณดังนั้นฝ่ายจัดการจะต้องการให้คุณลดข้อผิดพลาดเหล่านั้นลง

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

ตามที่คุณระบุไว้ว่า"... อัตราข้อผิดพลาดที่เกิดขึ้นในรหัส ... มีแนวโน้มที่จะได้รับผลกระทบจากกระบวนการที่ใช้เมื่อเขียนรหัสและหลังจากเขียนรหัสแล้ว" หากคุณต้องการเปลี่ยนอัตราที่คุณสร้างบั๊กคุณจะต้องเปลี่ยนกระบวนการที่คุณใช้ในการเขียนโค้ด

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

ซึ่งรวมถึงเทคนิคเดียวกับที่ใช้ในการผลิตจำนวนมากเพื่อลดอัตราข้อบกพร่อง: การวิเคราะห์หาสาเหตุเพื่อระบุสาเหตุที่ทำให้เกิดข้อบกพร่องและเปลี่ยนกระบวนการเพื่อไม่ให้เกิดข้อบกพร่อง หรืออย่างน้อยคุณก็จะได้รับ QA ก่อน

  1. ทำรายการข้อผิดพลาดของคุณ คุณอาจได้รับหนึ่งขอบคุณกับ QA อาจจัดหมวดหมู่ด้วย ประเภทของข้อบกพร่องความรุนแรงจุดที่ข้อผิดพลาดถูกแทรกเข้าไปในรหัส ฯลฯ

  2. เลือกหมวดหมู่ข้อบกพร่องที่ใหญ่ที่สุด เนื่องจากปริมาณของคุณสูงมากคุณควรกำหนดเป้าหมายหมวดหมู่นั้นก่อน หมวดหมู่อื่น ๆ ได้แก่ หมวดที่หาได้ง่ายที่สุดและหมวดหมู่ที่ง่ายที่สุดที่จะทำ

  3. การทราบว่าข้อบกพร่องเหล่านี้ถูกนำเข้าสู่รหัสใดให้ตรวจสอบการเปลี่ยนแปลงในระยะนั้น (และก่อนหน้า) ที่ป้องกันไม่ให้ข้อผิดพลาดเหล่านั้นเกิดขึ้นและวิธีที่จะทำให้การจับพวกเขาง่ายขึ้น

  4. ตรวจสอบให้แน่ใจว่าได้ตรวจสอบเหตุการณ์ที่ไม่เกี่ยวข้องกับการเขียนโปรแกรมรวมถึงคุณภาพของงานของคุณ เพลงประกอบการขัดจังหวะการรับประทานอาหารทำงานนานเกินไปโดยไม่หยุดพักหิว ฯลฯ

สิ่งที่คุณพบอาจทำให้คุณช้าลง ในทางกลับกันมันอาจช่วยให้คุณผลิตได้เร็วขึ้นเนื่องจากคุณไม่จำเป็นต้องนำสิ่งที่คุณได้ใส่กลับมาแล้ว ตามที่เป็นอยู่รหัสสี่เท่าไม่ใกล้เคียงกับลำดับความสำคัญที่ดีกว่าเพื่อนร่วมงานของคุณดังนั้นการเปลี่ยนกระบวนการของคุณจึงเป็นวิธีที่ดีที่สุด


3

เปลี่ยนวัตถุประสงค์ของคุณจากการผลิตรหัสมากที่สุดเพื่อช่วยให้ บริษัท ก้าวไปข้างหน้ามากที่สุด

เนื่องจากดูเหมือนว่าคุณมีเพื่อนร่วมงานจำนวนมากรวมทั้งมีเวลาว่างมากที่สุดผลกระทบที่คุณมีต่อการส่งมอบคุณสมบัติและการแก้ไขข้อบกพร่องที่รวดเร็วกว่าคือการช่วยเหลือเพื่อนร่วมงานของคุณ

ช่วยเพื่อนร่วมงานของคุณด้วย

  • ใช้บทวิจารณ์โค้ดเพื่อปรับปรุงคุณภาพรหัสและการศึกษา
  • การสร้างกระบวนการอัตโนมัติเพื่อให้การทำงานเร็วขึ้นและชีวิตง่ายขึ้น
  • เขียนแบบทดสอบที่ดีกว่ากับพวกเขา
  • โจมตีรหัสทางเทคนิคเพื่อปรับปรุงฐานรหัส
  • การเป็นคนที่แต่งตัวประหลาดที่พร้อมช่วยเหลือผู้อื่นเสมอ
  • การเขียน / ปรับปรุงเครื่องมือที่ช่วยในการเพิ่มผลผลิตของนักพัฒนา
  • ทำให้เป็นกรณีที่มีการจัดการสำหรับเครื่องมือ / อุปกรณ์ / สภาพการทำงานที่ดีขึ้นสำหรับเพื่อนร่วมงานของคุณหากคุณมีอิทธิพลมากขึ้น
  • การเตรียมการและการเป็นผู้นำด้านการศึกษาเกี่ยวกับการเขียนโค้ดที่ดีขึ้น
  • ฝึกความอ่อนน้อมถ่อมตน

1

ดังนั้นวิธีจัดการกับความจริงที่ว่าผลผลิตที่เพิ่มขึ้นจะนำไปสู่การเพิ่มจำนวนข้อบกพร่อง?

เจ้านายของคุณเป็นคนเดียวที่สามารถตอบคำถามนี้ในกรณีของคุณ พูดคุยกับเขาชี้ให้เห็นอัตราส่วนที่ดีขึ้นของคุณแล้วปล่อยให้เขาตัดสินใจ หากการตัดสินใจของเขาไม่สมเหตุสมผลก็ถึงเวลาที่ต้องหา บริษัท ที่มีวิธีคิดของคุณ

ในฐานะมืออาชีพคุณควรจะสามารถทำงานร่วมกับเงื่อนไขของลูกค้าที่กำหนดเพียงให้แน่ใจว่าพวกเขาเข้าใจผลที่ตามมา แผนภูมิข้อบกพร่อง / เรื่องราวที่ดีสามารถช่วยให้เจ้านายของคุณเข้าใจว่าผลผลิตของคุณจะจมลงแค่ไหนหากคุณใช้เวลาในการสร้างข้อบกพร่องให้น้อยลง

คุณต้องพิจารณาประเด็นเหล่านี้ด้วย:

  • ความซับซ้อนของเรื่องราวเช่นการห่อตัว getter / setter ง่าย ๆ กับการคำนวณทางสถิติหรือการเขียนโปรแกรมแบบเรียลไทม์หรือสถิติแบบเรียลไทม์ ...
  • ความรุนแรงของข้อบกพร่องมันเป็นความผิดพลาดเล็ก ๆ ในช่องข้อความหรือผลการคำนวณผิดโปรแกรมหยุดทำงาน
  • ค่าใช้จ่ายในการแก้ไขข้อบกพร่องทั้งสองอย่างถ้าคุณทำตอนนี้ในภายหลังหรือถ้ามีคนอื่นต้องเข้าใจรหัสของคุณเพราะคุณทิ้งไว้

0

สถานการณ์คือคุณทำงานเร็วกว่าโปรแกรมเมอร์ทั่วไปถึงสี่เท่า แต่คุณทำผิดพลาดมากเป็นสองเท่าในระยะเวลาที่กำหนด สัมพันธ์กับปริมาณงานที่คุณทำคุณทำผิดพลาดครึ่งหนึ่งเป็น "ค่าเฉลี่ย"

คุณอาจพยายามชี้ให้เห็นถึงความผิดพลาดต่ำในการทำงานหรือแม้แต่ความผิดพลาดในการทำผลิตภัณฑ์ให้เสร็จสมบูรณ์ ผู้บังคับบัญชาส่วนใหญ่จะยอมรับว่า

มีบอสอยู่สองสามตัวที่จะไม่ทำเพราะพวกเขาทำงานด้วยความคิด "เผื่อ" ของความผิดพลาดต่อเวลา จากนั้นคุณอาจชะลอความเร็วในการทำงานของคุณทำสองครั้งทำงานให้มากที่สุดโดยเฉลี่ยภายในเวลาที่กำหนดและทำผิดพลาด (หรือน้อยกว่า) เดียวกันเพราะคุณมีเวลามากขึ้นในการตรวจสอบงานของคุณ


0

หากหัวหน้าของคุณต้องการให้คุณปรับปรุงคุณภาพงานของคุณให้ปรับปรุงคุณภาพงานของคุณ

คุณควรตั้งเป้าหมายที่ข้อบกพร่องเป็นศูนย์โดยไม่ตั้งเป้าหมายที่จะสร้างโปรแกรมเมอร์ที่ดีที่สุดคนต่อไปเพียงสองเท่า



7
นั่นไม่ใช่ข้ออ้างที่จะไม่ลดอัตราความผิดพลาดของคุณ หากเจ้านายของคุณต้องการให้คุณสร้างรหัสที่ดีกว่าก็ถึงเวลาที่จะต้องสร้างรหัสที่ดีกว่าไม่ใช่เพื่อแก้ตัว
Dawood พูดว่าคืนสถานะโมนิก้า

4
ฉันแค่บอกว่าคุณควรตั้งเป้าหมายที่ข้อบกพร่องไม่ใช่ว่าคุณจะต้องบรรลุเป้าหมาย คิดถึงการยิงธนู ฉันยิงธนูไม่เก่ง - ฉันไม่เคยโจมตี "10" ที่กึ่งกลางของเป้าหมาย ฉันควรตั้งเป้าที่แหวน "7" เพราะ "10" จะยากเกินไปหรือไม่
Dawood พูดว่าคืนสถานะโมนิก้า

6
ใช่ แต่เจ้านายของคุณกำลังบอกว่างานของคุณไม่ดีพอ คุณควรจะทำได้ดีกว่า คุณยังไม่ได้ให้เหตุผลที่ดีว่าทำไมคุณไม่สามารถทำได้ดีกว่า การสนทนาทั้งหมดนี้ทำให้ฉันดูเหมือนว่ามีคนพยายามหาข้อแก้ตัวในการสร้างรหัสข้อผิดพลาด "ฉันอยู่ในทีมนักพัฒนาที่ช้ามากและดังนั้นฉันต้องทำผิดสองครั้งมากเท่ากับคนอื่น ๆ " โปรด!
Dawood พูดว่าคืนสถานะโมนิก้า

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

0

คุณควรบอกหัวหน้าของคุณว่าการวัดที่เขาใช้อยู่นั้นค่อนข้างมีข้อบกพร่อง หากคุณดูที่หลากสีโดยทหารองครักษ์ใน NBA คุณจะพบว่าพวกเขามีแนวโน้มที่จะมีตัวเลขที่สูงกว่าการส่งต่อ แต่นั่นเป็นเพราะพวกเขาจัดการกับลูกได้มากขึ้น หากผู้ไม่เริ่มเล่นนั้นเล่น 1/5 มากเท่ากับผู้รักษาประตูเริ่มต้นและเปลี่ยนลูกบอลโดยเฉลี่ยมากกว่า. การ์ดเริ่มต้นที่เปลี่ยนลูกบอลมากกว่า 7 ครั้งต่อเกม - ในแวบแรกมันอาจดูเหมือนว่าการ์ดเริ่มต้นแย่กว่า แต่ถ้าคุณแบ่งจำนวนหลากสีด้วยจำนวนนาทีที่เล่นให้เห็นได้ชัดว่าการ์ดเริ่มต้นนั้นมีตัวเลขที่ดีกว่ามากตามจำนวนนาทีที่เล่น

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

สิ่งที่ฉันไม่คิดว่าคุณควรทำคือชะลอตัวลง


0

เพิ่มมูลค่าการวัด

ให้เหตุผลว่าสิ่งที่สำคัญจริงๆคือมูลค่าที่คุณเพิ่ม จากนั้นไปแนะนำการวัดคร่าวๆ (แบบแมนนวล) ที่:

  • ประเมินมูลค่าของฟังก์ชันที่คุณผลิต
  • ลบเงินเดือนของคุณ
  • ลบค่าใช้จ่ายโดยประมาณของข้อบกพร่องของคุณ (อย่างน้อยค่าใช้จ่ายในการแก้ไข)
  • ลบค่าใช้จ่ายโดยประมาณของหนี้ทางเทคนิคอื่น ๆ ทั้งหมดที่คุณผลิต

ส่วนที่เหลือเป็นมูลค่าเพิ่มของคุณ เช่นเดียวกันสำหรับคนอื่น ๆ

การประมาณเหล่านี้ยาก แต่ก็อาจทำให้จุดหยาบ และกระบวนการพูดคุยการประมาณค่าเหล่านี้มีประโยชน์สำหรับทีมและโครงการเท่านั้น


-1

โปรแกรมเมอร์ชั้นนำมีแนวโน้มที่จะเขียนรหัสปกติมากซึ่งง่ายต่อการตรวจแก้จุดบกพร่องและเข้าใจพวกเขาใช้เครื่องมือที่มีอยู่ (การวิเคราะห์แบบคงที่ข้อผิดพลาดของคอมไพเลอร์รหัสข้อผิดพลาด) ให้สูงสุด โปรแกรมเมอร์ชั้นนำได้เรียนรู้คุณค่าของการทดสอบหน่วยผ่านประสบการณ์ที่ยากลำบากของตนเองแล้ว

ดังนั้นในขณะที่จำนวนปัญหาเริ่มต้นต่อบรรทัดเท่ากันปัญหาจะถูกกำจัดออกเร็วขึ้น


คำถามชี้ให้เห็นว่าสิ่งนี้ไม่ได้ช่วย: "ฉันพยายามที่จะชี้ให้เห็นว่าฉันผลิตแมลงในอัตราครึ่งหนึ่งของเพื่อน (และแก้ไขเป็นสองเท่า) แต่มันขายยากเมื่อมีกราฟบอกว่าฉันผลิต สองเท่าโรคจิตมาก ..."
ริ้น

สิ่งนี้มีความเกี่ยวข้องและเป็นอัตวิสัยมากกว่าใช่ไหม ฉันไม่ทราบว่ารหัส "ปกติ" หมายถึงอะไร ฉันจะยืนยันด้านบนที่โปรแกรมเมอร์พยายามที่จะใช้ทั้งหมดห้องสมุดและภาษาโครงสร้างที่มีให้เป็นไปเพื่อประโยชน์สูงสุดของพวกเขาในแง่ของการผลิตและการแสดงออกซึ่งจะทำให้รหัสมากง่ายต่อการเข้าใจโดยโปรแกรมเมอร์ทำงานสูงอื่น ๆ ... แต่จะทำได้ใน ความเป็นจริงเป็นเรื่องยากมากที่จะเข้าใจโดยจูเนียร์โปรแกรมเมอร์กลางโดยเฉพาะอย่างยิ่งผู้ที่ไม่คุ้นเคยกับแนวคิดทางสถาปัตยกรรมที่สูงขึ้น, การควบคุมการไหลโครงสร้างข้อมูล ...
Aaronaught

IMHO ความยิ่งใหญ่นั้นถูกกำหนดโดยประวัติการทำงานที่ยาวนานและ 90% ของวิศวกรซอฟต์แวร์ที่มีชีวิตไม่เคยมีโอกาสได้พบกับผู้ที่ยอดเยี่ยม ฉันพยายามสรุปความประทับใจจากโปรแกรมเมอร์ผู้ยิ่งใหญ่สองคนที่ฉันทำงานด้วย รหัส "ปกติ" หมายถึง: (a) สิ่งเดียวกันนี้ทำในลักษณะเดียวกันกับรหัสที่ผลิตทั้งหมด (b) ง่ายต่อการตีความแก้ไขและ (c) ตรงกันข้ามกับ "เข้าใจง่ายโดยคนอื่น ๆ - โปรแกรมเมอร์ที่กำลังทำงานอยู่ ... ".
zzz777
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.