Có một mối tương quan giữa độ phức tạp của mã và năng suất của nhà phát triển không?


10

Là thời gian dành cho việc tái cấu trúc một cơ sở mã có giá trị lâu dài, về mặt năng suất của nhà phát triển?

Đối với tôi có vẻ khá rõ ràng rằng việc sửa đổi một hệ thống được thiết kế tốt, đơn giản và nhanh hơn nhiều so với làm việc trên một hệ thống được thiết kế kém, nhưng tôi sau một số bằng chứng chắc chắn. Có nghiên cứu nào xung quanh chủ đề này không?



1
Bắt đầu duy trì một mớ hỗn độn và trở thành thẩm phán.
Tulains Córdova

Câu trả lời:


16

Theo kinh nghiệm, phần mềm có số liệu độ phức tạp cao hơn, chẳng hạn như độ phức tạp chu kỳ, khó bảo trì hơn. Có nghiên cứu hỗ trợ việc này có từ những năm 1970 ("Độ phức tạp của chương trình và năng suất lập trình viên", ET Chen) . Cũng có công trình cho thấy rằng mật độ phức tạp, độ phức tạp theo chu kỳ của kích thước hệ thống cũng liên quan đến thời gian bảo trì ("Mật độ phức tạp chu kỳ và năng suất bảo trì phần mềm", GK Gill, CF Kemerer) , cũng có sẵn miễn phí tại đây . Thật không may, đăng ký của IEEE là cần thiết cho bài viết của Chen, nhưng bạn có thể thử tìm kiếm nó trên các nguồn khác nếu bạn quan tâm.

Từ góc độ chất lượng, thường đáng để dành thời gian tái cấu trúc, giả sử bạn có một khung kiểm tra để ngăn chặn việc đưa ra các khiếm khuyết mới. Điều này sẽ cho phép bạn dễ dàng triển khai các tính năng mới hơn vào hệ thống của mình, thêm các thử nghiệm bổ sung và đào tạo các nhà phát triển mới để làm việc.

Cuối cùng, tuy nhiên, có áp lực để cung cấp chức năng mới và giá trị gia tăng. Bạn cần cân bằng tái cấu trúc với việc thực hiện chức năng mới và sửa chữa các khiếm khuyết.


2
một điểm khác để thêm vào là khi bạn tái cấu trúc, bạn cũng có khả năng triển khai các tính năng theo cách tốt hơn / hiệu quả hơn / sạch hơn. Có một câu ngạn ngữ mà tôi đã nghe vô số lần về tác dụng của "trong 5 năm bạn sẽ chùn bước mà bạn nghĩ rằng mã của mình là" tốt ""
warren

1
@hakre Tôi đã kiểm tra khi tôi đăng bài này và một lần nữa, bằng cách sử dụng cả tìm kiếm Google Web và Google Scholar. Tại thời điểm ban đầu tôi viết bài này, không có giấy nào có sẵn mà không mua. Tuy nhiên, kể từ đó, một bài báo đã được đăng trên một tên miền của Đại học Pittsburgh dường như thuộc về một trong những tác giả và tôi đã thêm một liên kết đến nó. Các giấy tờ khác không có sẵn miễn phí. Tôi đã thêm các tiêu đề vào phần thân bài để làm cho việc tìm kiếm chúng dễ dàng hơn một chút. Nếu bạn không muốn đọc các bài báo, bạn sẽ cần chấp nhận phân tích của tôi, cùng với kiến ​​thức và kinh nghiệm của tôi.
Thomas Owens

0

Tôi sau một số bằng chứng vững chắc

Sau đó ngừng lãng phí thời gian của bạn ở đây.

  1. Tìm một số mã đắt tiền để duy trì. Dễ thôi. Nhìn vào vé rắc rối của tổ chức của bạn.

  2. Tìm một số mã rẻ để duy trì. Tìm mã chạy thường xuyên, nhưng có ít hoặc không có vé rắc rối.

  3. Đo độ phức tạp với bất kỳ công cụ phức tạp có sẵn rộng rãi nào.

  4. Đắm mình trong các bằng chứng.

Bây giờ bạn đã cung cấp số để xác nhận rõ ràng.


5
Không hẳn vậy. độ phức tạp của nhiệm vụ được thực hiện bởi phần mềm phải được phân biệt với độ phức tạp được thêm vào do việc triển khai đã chọn.
rebierpost

4
-1 không phải là một câu trả lời
Dave Hillier
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.