Nói chung là một ý tưởng tồi khi gọi sếp của bạn là một thằng ngốc, vì vậy các đề xuất của tôi bắt đầu bằng việc hiểu và thảo luận về các số liệu, thay vì từ chối chúng.
Một số người không thực sự được coi là kẻ ngốc đã sử dụng các số liệu dựa trên các dòng mã. Fred Brooks, Barry Boehm, Capers Jones, Watts Humphries, Michael Fagan và Steve McConnell đều sử dụng chúng. Bạn có thể đã sử dụng chúng ngay cả khi chỉ để nói với đồng nghiệp, mô-đun Thần này là 4000 dòng, nó cần được chia thành các lớp nhỏ hơn.
Có dữ liệu cụ thể liên quan đến câu hỏi này từ một nguồn mà nhiều người trong chúng ta tôn trọng.
http://www.codinghorror.com/blog/2006/07/diseconomies-of-scale-and-lines-of-code.html
http: //www.codinghorror.com/blog/2005/08/are-all-programming-lacular-the-same.html
http://discuss.joelonsoftware.com/default.asp?joel.3.286106.22
Tôi nghi ngờ rằng việc sử dụng dòng mã tốt nhất cho mỗi giờ lập trình viên là để cho thấy rằng trong suốt vòng đời của dự án, giá trị này sẽ bắt đầu khá cao, nhưng khi các lỗi được tìm thấy và sửa chữa, các dòng mã mới sẽ được thêm vào để giải quyết các vấn đề không phải là một phần của ước tính ban đầu và các dòng mã được loại bỏ để loại bỏ trùng lặp và cải thiện hiệu quả sẽ cho thấy LỘC / giờ chỉ ra những thứ khác ngoài năng suất.
- Khi mã được viết nhanh, cẩu thả, cồng kềnh và không có bất kỳ nỗ lực tái cấu trúc nào, hiệu quả rõ ràng sẽ ở mức cao nhất. Đạo đức ở đây sẽ là bạn phải cẩn thận cho những gì bạn đo lường.
- Đối với một nhà phát triển cụ thể, nếu họ thêm hoặc chạm vào số lượng mã lớn trong tuần này, tuần tới có thể có một khoản nợ kỹ thuật phải trả về việc xem xét mã, kiểm tra, gỡ lỗi và làm lại.
- Một số nhà phát triển sẽ làm việc với tỷ lệ đầu ra phù hợp hơn so với những người khác. Có thể thấy rằng họ dành nhiều thời gian nhất để có được những câu chuyện hay của người dùng, quay vòng rất nhanh và thực hiện các bài kiểm tra đơn vị tương ứng, sau đó quay lại và nhanh chóng tạo mã chỉ tập trung vào các câu chuyện của người dùng. Điều đáng nói ở đây là các nhà phát triển có phương pháp có thể sẽ quay vòng nhanh, sẽ viết mã nhỏ gọn và làm lại thấp vì họ hiểu rất rõ vấn đề và giải pháp trước khi bắt đầu viết mã. Có vẻ hợp lý rằng họ sẽ viết mã ít hơn vì họ chỉ viết mã sau khi họ nghĩ thông qua, thay vì trước và sau.
- Khi mã được đánh giá cho mật độ khiếm khuyết của nó, nó sẽ được tìm thấy là ít hơn thống nhất. Một số mã sẽ chiếm phần lớn các rắc rối và khiếm khuyết. Nó sẽ là một ứng cử viên để viết lại. Khi điều đó xảy ra, nó sẽ trở thành mã đắt nhất bởi vì mức độ làm lại cao. Nó sẽ có tổng số dòng mã cao nhất (được thêm, xóa, sửa đổi, như có thể được báo cáo từ một công cụ như CVS hoặc SVN), nhưng các dòng mã thấp nhất mỗi giờ được đầu tư. Điều này cuối cùng có thể là sự kết hợp của mã hoặc thực hiện vấn đề phức tạp nhất hoặc giải pháp phức tạp nhất.
Bất kể cuộc tranh luận về năng suất lập trình viên trong các dòng mã hóa ra như thế nào, bạn sẽ thấy rằng bạn cần nhiều nhân lực hơn khả năng của mình và hệ thống sẽ không bao giờ được hoàn thành kịp thời gian. Bạn công cụ thực sự không phải là số liệu. Họ đang sử dụng phương pháp ưu việt, nhà phát triển tốt nhất bạn có thể thuê hoặc đào tạo và kiểm soát phạm vi và rủi ro (có thể bằng phương pháp Agile).