Tôi làm việc cho một tổ chức nhân đạo lớn, trên một phần mềm xây dựng dự án có thể giúp cứu sống những trường hợp khẩn cấp bằng cách tăng tốc độ phân phối thực phẩm. Nhiều tổ chức phi chính phủ rất cần phần mềm của chúng tôi và chúng tôi chậm tiến độ vài tuần.
Một điều khiến tôi lo lắng trong dự án này là điều tôi nghĩ là sự tập trung quá mức vào các tiêu chuẩn mã hóa. Chúng tôi viết bằng python / django và sử dụng phiên bản PEP0008, với nhiều sửa đổi khác nhau, ví dụ: độ dài dòng có thể lên tới 160 ký tự và tất cả các dòng sẽ dài đến mức có thể, không có dòng trống nào giữa các lần nhập, quy tắc gói dòng chỉ áp dụng cho một số loại nhất định của các lớp, rất nhiều mẫu mà chúng ta phải sử dụng, ngay cả khi chúng không phải là cách tốt nhất để giải quyết vấn đề, v.v.
Một nhà phát triển cốt lõi đã dành một tuần để viết lại một phần chính của hệ thống để đáp ứng các tiêu chuẩn mã hóa mới sau đó, loại bỏ một số bộ thử nghiệm trong quy trình, vì việc viết lại có nghĩa là chúng "không hợp lệ". Chúng tôi đã dành hai tuần để viết lại tất cả các chức năng đã bị mất và sửa lỗi. Anh ấy là người dẫn đầu và lời nói của anh ấy có trọng lượng, vì vậy anh ấy đã thuyết phục người quản lý dự án rằng những tiêu chuẩn này là cần thiết. Các dev nhỏ làm như họ được nói. Tôi cảm thấy rằng người quản lý dự án có một cảm giác mạnh mẽ về sự bất đồng về nhận thức về tất cả những điều này nhưng vẫn đồng ý với nó một cách kịch liệt khi anh ta cảm thấy không biết phải làm gì khác.
Hôm nay tôi gặp rắc rối nghiêm trọng vì tôi đã quên đặt một số khoảng trắng sau dấu phẩy trong một đối số từ khóa. Tôi đã bị hai nhà phát triển khác và người quản lý dự án hét lên theo nghĩa đen trong một cuộc gọi Skype. Cá nhân tôi nghĩ rằng các tiêu chuẩn mã hóa là quan trọng nhưng cũng nghĩ rằng chúng ta đang lãng phí rất nhiều thời gian để ám ảnh với chúng, và khi tôi kiểm chứng bằng lời này, nó đã gây ra cơn thịnh nộ. Tôi được xem như một kẻ gây rối trong đội, một đội đang tìm kiếm vật tế thần cho những thất bại của nó. Kể từ khi giới thiệu các tiêu chuẩn mã hóa, năng suất của nhóm đã giảm mạnh, tuy nhiên điều này chỉ củng cố nỗi ám ảnh, tức là nhà phát triển chính chỉ đơn giản đổ lỗi cho việc chúng tôi không tuân thủ các tiêu chuẩn vì thiếu tiến bộ. Anh ấy tin rằng chúng tôi không thể đọc mã của nhau nếu chúng tôi không tuân thủ các quy ước.
Điều này đang bắt đầu để dính. Bây giờ tôi đang cố gắng sửa đổi các tập lệnh khác nhau, autopep8, pep8ify và PythonTidy để cố gắng khớp với các quy ước. Chúng tôi cũng chạy pep8 chống lại mã nguồn nhưng có rất nhiều sửa đổi ngầm đối với tiêu chuẩn của chúng tôi đến nỗi khó có thể theo dõi tất cả. Người dẫn đầu đơn giản chọn những lỗi mà tập lệnh pep8 không nhận và hét vào chúng tôi trong cuộc họp độc lập tiếp theo. Mỗi tuần có những bổ sung mới cho các tiêu chuẩn mã hóa buộc chúng ta phải viết lại mã đã được thử nghiệm, đang hoạt động. Cảm ơn trời, chúng tôi vẫn có các bài kiểm tra, (tôi đã hoàn nguyên một số cam kết và sửa một loạt các lỗi mà anh ấy đã xóa).
Tất cả trong khi có áp lực ngày càng tăng để đáp ứng thời hạn.
Tôi tin rằng một vấn đề cơ bản là nhà phát triển chính và nhà phát triển cốt lõi khác từ chối tin tưởng các nhà phát triển khác để thực hiện công việc của họ. Nhưng làm thế nào để đối phó với điều đó? Chúng tôi không thể làm công việc của mình vì chúng tôi quá bận rộn để viết lại mọi thứ.
Tôi chưa bao giờ gặp phải động lực này trong một nhóm kỹ thuật phần mềm. Tôi có sai khi đặt câu hỏi về việc tuân thủ các tiêu chuẩn mã hóa của họ không? Có ai khác đã trải qua một tình huống tương tự và làm thế nào họ đã giải quyết nó thành công? (Tôi không tìm kiếm một cuộc thảo luận chỉ là giải pháp thực tế mà mọi người đã tìm thấy)