ฉันทำงานให้กับองค์กรด้านมนุษยธรรมขนาดใหญ่โดยใช้ซอฟต์แวร์สร้างโครงการที่สามารถช่วยชีวิตผู้คนได้ในกรณีฉุกเฉินโดยเร่งการแจกจ่ายอาหาร องค์กรพัฒนาเอกชนหลายแห่งต้องการซอฟต์แวร์ของเราอย่างยิ่งยวด
สิ่งหนึ่งที่ทำให้ฉันกังวลในโครงการนี้คือสิ่งที่ฉันคิดว่าเป็นจุดสนใจที่มากเกินไปในมาตรฐานการเข้ารหัส เราเขียนด้วยภาษาไพ ธ อน / django และใช้รุ่น PEP0008 โดยมีการดัดแปลงหลายอย่างเช่นความยาวบรรทัดสามารถสูงถึง 160 ตัวอักษรและทุกบรรทัดควรยาวมากถ้าเป็นไปได้ไม่มีบรรทัดว่างระหว่างการนำเข้ากฎการตัดบรรทัดที่ใช้ได้กับบางประเภทเท่านั้น ชั้นเรียนเทมเพลตมากมายที่เราต้องใช้แม้ว่ามันจะไม่ใช่วิธีที่ดีที่สุดในการแก้ปัญหา ฯลฯ
นักพัฒนาซอฟต์แวร์หลักคนหนึ่งใช้เวลาหนึ่งสัปดาห์ในการเขียนส่วนสำคัญของระบบเพื่อให้ได้มาตรฐานการเข้ารหัสใหม่โดยทิ้งการทดสอบหลายชุดในกระบวนการเนื่องจากการเขียนซ้ำหมายถึงพวกเขาไม่ถูกต้อง เราใช้เวลาสองสัปดาห์ในการเขียนใหม่ฟังก์ชั่นทั้งหมดที่หายไปและแก้ไขข้อบกพร่อง เขาเป็นผู้นำในการพัฒนาและคำพูดของเขามีน้ำหนักดังนั้นเขาจึงโน้มน้าวผู้จัดการโครงการว่ามาตรฐานเหล่านี้จำเป็น devs รุ่นน้องทำตามที่บอก ฉันรู้สึกว่าผู้จัดการโครงการมีความรู้สึกที่แข็งแกร่งของความไม่ลงรอยกันเกี่ยวกับความรู้ความเข้าใจเกี่ยวกับเรื่องนี้ แต่ก็เห็นด้วยกับมันอย่างร้อนแรงในขณะที่เขารู้สึกไม่แน่ใจว่าจะทำอะไร
วันนี้ฉันมีปัญหาร้ายแรงเพราะฉันลืมใส่ช่องว่างหลังจากเครื่องหมายจุลภาคในอาร์กิวเมนต์ของคำหลัก ฉันตะโกนโดยนักพัฒนาอีกสองคนและผู้จัดการโครงการระหว่างการโทรด้วย Skype โดยส่วนตัวฉันคิดว่ามาตรฐานการเข้ารหัสมีความสำคัญ แต่ก็คิดว่าเรากำลังเสียเวลาไปกับพวกเขามากและเมื่อฉันพูดแบบนี้มันทำให้โกรธมาก ฉันถูกมองว่าเป็นตัวก่อปัญหาในทีมทีมที่กำลังมองหาแพะรับบาปสำหรับความล้มเหลว ตั้งแต่การแนะนำมาตรฐานการเข้ารหัสประสิทธิภาพการทำงานของทีมได้ลดลงอย่างเห็นได้ชัด แต่สิ่งนี้เป็นการตอกย้ำความหลงใหลเช่นผู้นำ dev เพียงแค่โทษว่าเราไม่ปฏิบัติตามมาตรฐานสำหรับการขาดความก้าวหน้า เขาเชื่อว่าเราไม่สามารถอ่านรหัสของกันและกันได้หากเราไม่ปฏิบัติตามอนุสัญญา
สิ่งนี้เริ่มทำให้เหนียว ตอนนี้ฉันกำลังพยายามแก้ไขสคริปต์ต่างๆ, autopep8, pep8ify และ PythonTidy เพื่อพยายามจับคู่อนุสัญญา นอกจากนี้เรายังเรียกใช้ pep8 เทียบกับซอร์สโค้ด แต่มีการแก้ไขโดยนัยมากมายสำหรับมาตรฐานของเราซึ่งยากที่จะติดตามพวกเขาทั้งหมด นักพัฒนานำง่ายๆเลือกข้อบกพร่องที่สคริปต์ pep8 ไม่ได้รับและตะโกนใส่เราในการประชุมสแตนด์อัพครั้งต่อไป ทุกสัปดาห์จะมีการเพิ่มมาตรฐานการเข้ารหัสใหม่ซึ่งบังคับให้เราเขียนรหัสที่มีอยู่, ใช้งาน, ที่ทดสอบอยู่ ขอบคุณสวรรค์ที่เรายังมีการทดสอบอยู่ (ฉันหวนคืนบางข้อผูกพันและแก้ไขสิ่งที่เขาลบออกไป)
ในขณะที่มีแรงกดดันเพิ่มขึ้นเพื่อให้ตรงตามกำหนดเวลา
ฉันเชื่อว่าปัญหาพื้นฐานคือผู้พัฒนานำและนักพัฒนาหลักคนอื่นปฏิเสธที่จะไว้วางใจนักพัฒนารายอื่นให้ทำงานของพวกเขา แต่วิธีจัดการกับสิ่งนั้น? เราไม่สามารถทำงานได้เพราะเรายุ่งกับการเขียนใหม่ทุกอย่างมากเกินไป
ฉันไม่เคยพบไดนามิกนี้ในทีมวิศวกรรมซอฟต์แวร์ ฉันผิดหรือไม่ที่จะตั้งคำถามกับการปฏิบัติตามมาตรฐานการเข้ารหัส? มีใครอีกบ้างที่ประสบสถานการณ์คล้ายกันและพวกเขาประสบความสำเร็จได้อย่างไร? (ฉันไม่ได้มองหาการสนทนาเพียงแค่การแก้ปัญหาที่เกิดขึ้นจริงที่ผู้คนพบ)