Netbeans 7.4 giới thiệu "tối đa 10 dòng" cho mỗi quy tắc phương pháp. Quy tắc này bắt nguồn từ đâu? [đóng cửa]


80

NetBeans 7.4 beta hiện có sẵn để tải xuống công khai và nó giới thiệu một quy tắc cảnh báo kỳ lạ theo mặc định:

Độ dài phương thức là 16 dòng (cho phép 10 dòng)

Câu hỏi của tôi là: Đây có phải là một quy tắc quy ước mã được chấp nhận, có thể được chứng minh bằng cách nào đó, ở đâu đó không? Bộ phận hỗ trợ / nhà phát triển của NetBeans nói rằng đó không phải là một lỗi, nhưng không đưa ra tuyên bố lý do tại sao họ chỉ cho phép 10 dòng và chính xác quy tắc này có nguồn gốc từ đâu.


25
Đó là một quy tắc điên rồ được thực hiện thậm chí còn vô lý hơn bởi thực tế là 10 dòng bao gồm khoảng trắng.

13
Vâng, chúng ta hãy tất cả loại bỏ dòng trống của chúng tôi ... rằng sẽ cải thiện mã :)
Chris Laarman

2
Khoảng trắng không được bao gồm nữa. Cập nhật cài đặt NB của bạn lên bản vá 1. netbeans.org/bugzilla/show_bug.cgi?id=237620
Ben

5
Như tôi đã hiểu: Đó là điều bắt buộc chúng ta phải lập kế hoạch tâm trí của mình tốt hơn trong quá trình viết mã. tức là nếu nó phải dài hơn, vì vậy nó có thể được chia.
SaidbakR

Câu trả lời:


129

Bạn có thể thay đổi hành vi cảnh báo độ dài hàm / phương thức tối đa trong tùy chọn NetBeans (nằm trong Công cụ-> Tùy chọn-> Trình chỉnh sửa , trong tab Gợi ý , trong phần " Quá nhiều dòng " trong danh sách hộp kiểm).

Ở đó, bạn có thể đặt số dòng tối đa, cách bạn muốn được cảnh báo, v.v.

Tôi tin rằng quy tắc được giới thiệu bởi các nhà phát triển NetBeans bởi vì khi làm việc theo nhóm, các công cụ tự động mà QA sử dụng để "kiểm tra" các phần khai báo / chức năng của cờ mã. Thật không may, việc sử dụng các công cụ tự động của các "nhà phân tích mã" đang gia tăng, trong khi hiểu biết của họ về lý do đằng sau điều đó vẫn còn hạn chế. Tôi không nói rằng các hàm của bạn phải dài hàng trăm dòng - điều đó hoàn toàn sai, nhưng là một số được mã hóa cứng như một luật mã hóa - thôi nào!


6
Công bằng mà nói, mọi số liệu tôi đã thấy đều nói rằng khả năng đọc mã giảm xuống khi độ dài hàm tăng lên. Code Complete 2 thậm chí còn đi xa như vậy để nói rằng khả năng bảo trì bắt đầu giảm chóng mặt vào khoảng dòng 50.
cwallenpoole

1
Đừng quên chuyển bản tổng hợp "Ngôn ngữ" sang "PHP" trước tiên nếu bạn đã cài đặt nhiều ngôn ngữ mã hóa trong NetBeans của mình.
panticz

Joost Visser trong phần mềm có thể bảo trì xây dựng nói 15 dòng. Nhưng điều đó phải được xem xét trong ngữ cảnh với toàn bộ cơ sở mã. Một vài đơn vị dài hơn 15 dòng không phải là điều đáng lo ngại, nhưng một vài đơn vị 100 dòng thì có.
Alonso del Arte

25

"Quy tắc 10 dòng" liên quan đến việc thực thi phát triển theo hướng thử nghiệm. Lý thuyết là bất kỳ phương pháp nào có hơn mười dòng đều có thể được chia nhỏ thành các đơn vị có thể kiểm tra được. nó phù hợp về mặt lý thuyết, nhưng trên thực tế, một cảnh báo như thế này khó chịu hơn là hữu ích.


9
"10 dòng cai trị" làm cho nó chắc chắn rằng bạn dành phần tốt hơn trong ngày của bạn suy nghĩ tên mới cho các phương pháp của bạn
Ivan Marjanovic

0

Tôi nghĩ rằng không có một quy ước nào về điều đó, và rất khó để làm cho các chức năng nhỏ cụ thể hoạt động trong các dự án lớn.

Tôi cảm thấy rằng vấn đề trong NetBeans (hoặc quy tắc) là đếm dòng chỉ bằng một dấu ngoặc đơn hoặc tài liệu.

Bài báo này cung cấp cho anh ấy ý kiến ​​về chức năng viết với 5-15 dòng.


0

Tôi luôn tắt cảnh báo này, cũng như cảnh báo về quá nhiều khối lồng nhau. Tôi hiểu ý tưởng xung quanh việc không có các phương pháp lớn nhưng rất nhiều lúc nó không thực tế và như một người khác đã đề cập nếu bạn tiếp tục chia mã của mình thành các hàm tùy ý chỉ để xoa dịu IDE, bạn sẽ kết thúc với mã spaghetti nhảy khắp nơi , việc tái cấu trúc cũng trở thành một vấn đề lớn sau này.

Tương tự như cảnh báo giới hạn độ dài dòng, có thể một dòng dài 50 ký tự khiến bạn cuộn sang ngang vào năm 1985, nhưng ngày nay chúng ta có màn hình lớn hơn (bây giờ cũng có màu sắc!). Tôi đã thấy mọi người cắt xén một dòng mã bằng cách rút ngắn các tên biến để nó phù hợp với giới hạn, biến một dòng mã hoàn toàn có thể đọc được thành một mớ hỗn độn không thể giải mã để nó vừa với giới hạn.

Cá nhân tôi nghĩ rằng ba quy tắc đó cùng nhau đã gây ra nhiều mã spaghetti rác hơn là giúp tạo ra mã có thể đọc / kiểm tra được.


-1

Tôi nghĩ rằng không có quy tắc như vậy. Tôi luôn nghĩ rằng một quy ước tốt sẽ không có nhiều dòng mã trong một lớp hơn là một dòng có thể đọc mà không cần cuộn. 10 dòng có vẻ không nhiều đối với tôi nhưng nói chung nó dành cho mục đích tổng quan và kiểm tra dễ dàng hơn ..


5
Đối với tôi, một lớp học 1 trang chắc chắn không phải là một thứ gì đó quá đáng để khao khát. Thật dễ dàng để đặt các quy tắc để giới hạn số dòng, nhưng bạn vẫn cần đặt logic mã của mình ở đâu đó . Ngoài ra còn có một giới hạn về số lượng chức năng / lớp học và bước nhảy vọt mà tâm trí của một người có thể kết hợp với nhau.
userfuser
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.