ดังนั้นคำถามคือ:
นี่เป็นเรื่องธรรมดาหรือเป็นความคิดที่ดีหรือไม่?
ในบรรดาคำตอบที่มีในปัจจุบันคือไม่มีการสะท้อนกลับ ดังนั้นมีสิ่งอื่น ๆ อีกเล็กน้อยที่ฉันสามารถพูดสอดเกี่ยวกับมันเช่น; แม้กระทั่งรหัสขั้นตอนก็สามารถทำได้แบบแยกส่วนและรวมถึงทุกอย่าง แต่อ่างล้างจานไม่ใช่วิธีที่คุณจะได้รับแบบแยกส่วน คลาสยักษ์อันใดที่แบ่งเป็น partials ทำมันทั้งหมดรวมกันเป็นระเบียบใหญ่
อย่างไรก็ตามคำถามนั้นเป็นปลาเฮอริ่งแดงไปยังส่วนที่สำคัญจริงสิ่งที่พลาด; เนื่องจาก OP ยังมีสิ่งต่อไปนี้ที่จะพูดเกี่ยวกับสถานการณ์:
(... ) ในขณะที่ปฏิกิริยาทางเดินอาหารของฉันคือการทำให้มันออกมาจากวงโคจรพวกเขายืนยัน ...
(... ) ฉันมีแนวโน้มที่จะทำตามขั้นตอนทันทีเพื่อทำให้สัตว์ร้ายนี้ (หรืออย่างน้อยก็ป้องกันไม่ให้มันเติบโตต่อไป) แต่ฉันก็เต็มใจที่จะเชื่อว่าฉันผิด
ถือม้าของคุณ!
นี่คือบางสิ่งที่จะทำให้ฉันพูดเสียงพึมพำหยดลงไปในถ้วยชาของฉันเป็นรูปเป็นร่าง
ฉันเคยอยู่ในสถานการณ์ที่คล้ายคลึงกันและให้ฉันบอกคุณ: ไม่ตกสำหรับการกระตุ้นให้ทำเช่นนั้น แน่นอนว่าคุณสามารถทิ้ง Nuke Hammer of Justice ไว้ในทีม แต่ก่อนที่คุณจะทำเช่นนั้นโปรดสร้างอารมณ์ขันให้คุณด้วยปริศนาต่อไปนี้:
จะเกิดอะไรขึ้นถ้าคุณบอกทีมที่รหัสของพวกเขาดูดและSOD ปิด ?
(... หรือบางสิ่งบางอย่างเช่นนั้น แต่น้อยกว่าที่น่ารังเกียจมันไม่สำคัญเลยเพราะพวกเขาจะถูกทำให้ขุ่นเคืองไม่ว่าคุณจะทำอะไรถ้าคุณตัดสินใจที่จะบังคับพวกเขาอย่างเต็มที่)
สถานการณ์ปัจจุบันกับฐานรหัสคืออะไร? มันใช้ได้ไหม? จากนั้นคุณจะมีปัญหาใหญ่อธิบายให้ลูกค้าฟังว่าโค้ดของพวกเขาแย่มาก ไม่ว่าด้วยเหตุผลใดก็ตาม: ตราบใดที่ยังใช้งานได้ลูกค้าส่วนใหญ่ไม่สนใจว่าจะจัดระเบียบรหัสอย่างไร
ใส่ตัวเองไว้ในรองเท้าพวกเขาจะทำอะไร? ฉันขอให้คุณสนุกกับผลลัพธ์ที่เป็นไปได้ดังต่อไปนี้:
สมาชิกทีม # 1: "มีผู้ชายคนนี้บอกเราว่าเราทำผิดไปหลายปีแล้ว"
สมาชิกทีม # 2 และ # 3: "อะไรที่ฉุดกระชาก"
สมาชิกในทีมผู้มีอิทธิพล # 4: "ไม่ต้องกังวลกับมันฉันจะไปหาผู้บริหารและรายงานว่าเป็นการก่อกวน"
ดูว่ามีสมาชิกในทีมที่มีอิทธิพล # 4 ? เขาไปที่ฝ่ายบริหารและลดกรรมของคุณใน บริษัท เขาอาจเป็นคนอเมริกันเชื้อสายอิตาลีบอกให้ทุกคนไม่ต้องกังวลกับเรื่องนี้ แต่ฉันจะเหยียดสีผิว
วาดภาพทีมที่กระทำผิดเป็นมุมโดยให้พวกเขายอมรับว่าพวกเขาทำผิดมานานแล้วเป็นความคิดที่ไม่ดีและนำไปสู่สิ่งเดียวกัน คุณจะสูญเสียความเคารพและกรรมการเมืองในที่ทำงาน
แม้ว่าคุณจะจัดการให้คนจำนวนมากออกจากระบบนี้เพื่อ "สอนบทเรียนให้ทีม" โปรดจำไว้ว่าคุณกำลังทำสิ่งนี้กับผู้ที่ฉลาดหลักแหลมซึ่งเห็นได้ชัดว่าทำอะไรบางอย่างเสร็จ เมื่อรหัสจะถูกเขียนใหม่ / refactored / จัดการ / whatever'd ด้วยและปัญหาที่เกิดขึ้นว่าคุณจะต้องรับผิดชอบตามที่คุณได้ Firestarter
การเป็นปรปักษ์กับสถานการณ์เช่นนี้ส่วนใหญ่เป็นเกมที่เสีย / แพ้เนื่องจากมีความเสี่ยงที่จะกลายเป็นวงจรอุบาทว์ของเกมโทษ นี่คือผลลัพธ์ที่ไม่ดีสำหรับสถานการณ์นี้ แม้ว่าคุณจะชนะคุณก็จะได้รับความยุ่งเหยิงที่คนอื่นทำ
มีวิธีอื่น ๆ (ผู้ใหญ่มาก)
ฉันอยู่ในสถานการณ์ที่คล้ายคลึงกันครั้งหนึ่ง แต่จากนั้นฉันก็หยิบลูกธนูที่หัวเข่า ดังนั้นหลังจากที่ในขณะที่มีลูกศรอาชีพการเปลี่ยนแปลงอย่างฉับพลันในใจของฉันฉันได้หนังสือการขับขี่เทคนิคการเปลี่ยนโดย Terrence ไรอัน มันแสดงรูปแบบของความคลางแคลงหลายรูปแบบผู้คนไม่ทำตามความคิดที่ดี พวกมันน่าจะใช้ได้ในกรณีของ OP:
- The Uninformed - พวกเขาไม่รู้จริง ๆ ว่ามีวิธีอื่นหรือไม่เข้าใจ นักพัฒนารุ่นเยาว์มักจะพอดีกับหมวดหมู่นี้ แต่ไม่จำเป็น (พูดตามตรง: ฉันได้พบกับนักพัฒนารุ่นน้องที่จะมีความสว่างมากกว่านี้)
- The ฝูง - พวกเขารู้เทคนิคที่ดีกว่าการใช้คลาสบางส่วน แต่ไม่ทราบว่าพวกเขาได้รับอนุญาต
- The Cynic - พวกเขาชอบที่จะโต้แย้งว่าการมีชั้นเรียนบางส่วนนั้นดีกว่าความคิดของคุณเพียงเพื่อการโต้แย้ง มันง่ายที่จะทำในฝูงชนแทนที่จะยืนต่อหน้าฝูงชน
- The Burned - ด้วยเหตุผลแปลก ๆ พวกเขาไม่ชอบที่จะสร้างคลาสใหม่มีแนวโน้มที่พวกเขาจะเข้าใจว่ามันยากเกินไป
- The Time Crunched - พวกเขายุ่งมากจนไม่สามารถแก้ไขรหัสได้
- The Boss - พวกเขาคิดว่า: "มันใช้งานได้ดี
- ไร้เหตุผล - โอเคพวกมันบ้าไปหมดแล้ว
หนังสือเล่มนี้มีรายการของกลยุทธ์และอื่น ๆ แต่ในกรณีของ OP มันเป็นเรื่องของการโน้มน้าวใจ การมุ่งหน้าอย่างเข้มแข็งพร้อมข้อเท็จจริงเกี่ยวกับการต่อต้านลวดลายนั้นไม่เพียงพอ
ถ้ามันอยู่ในความสนใจของคุณที่มีคุณภาพเพิ่มขึ้นรหัสอย่างน้อยให้โอกาสทีมงานที่กระทำผิดจะย้ำและแก้ไขระเบียบของตัวเอง โดยส่วนตัวแล้วฉันจะพยายามแกว่งไปมาโดยการฟังและถามคำถามนำพวกเขาบอกเล่าเรื่องราวของพวกเขา:
- ชั้นเทพของพวกเขากำลังทำอะไรกันแน่?
- พวกเขาเจอปัญหาอะไรบ้างไหม? พวกเขามีข้อบกพร่องหรือไม่? แนะนำการแก้ไขที่มีสติโดยไม่บอกให้ทำเช่นนั้น
- หากคุณเป็นผู้ใช้ god class นี้ในฐานะ API: มีวิธีที่ง่ายกว่าในการใช้รหัสมากกว่าใช้ทั้งหมดหรือไม่? แนะนำตัวอย่างที่ง่ายกว่าดูว่ามันตอบสนองอย่างไร
- คุณสามารถสลับการใช้งานบางฟังก์ชั่นอื่นโดยไม่ต้องเขียนฟังก์ชั่นได้หรือไม่?
- พวกเขาต้องการการฝึกอบรมบ้างไหม? คุณสามารถโน้มน้าวผู้บริหารให้ทำแบบนั้นหรือมีการประชุมอาหารกลางวันเกี่ยวกับรูปแบบและวิธีปฏิบัติ
... และต่อไป ให้คำแนะนำเล็กน้อยเพื่อให้พวกเขาสามารถก้าวไปข้างหน้า ต้องใช้เวลาและจะต้องใช้จาระบีศอกการเมืองระดับสำนักงานแต่ความอดทนและการทำงานอย่างหนักเป็นคุณธรรมใช่ไหม?