Độ dài và độ rộng dòng 'đề xuất' [đã đóng]


9

Tôi tò mò liệu có ai biết về một khuyến nghị từ một nguồn có uy tín về số lượng dòng mã tối đa cho một tệp nhất định không. Ví dụ: Công cụ đóng cửa của Google khuyến nghị rằng mỗi dòng không được vượt quá 80 ký tự.


Ví dụ của bạn không phù hợp với câu hỏi. Câu hỏi của bạn hỏi về các dòng trên mỗi tệp và ví dụ của bạn là các ký tự trên mỗi dòng.
Jason S

2
Đó là cùng một khái niệm - khu vực hình vuông bạn phải cuộn xung quanh, cho dù đó là ngang hay dọc.
Devin G Rhode

Câu trả lời:


11

Một tệp phải đủ ngắn để bạn có thể tìm thấy bất kỳ chức năng hoặc phương thức nào mà không cần cuộn qua lại nhiều lần để tìm kiếm nó hoặc phải nhớ một chuỗi tìm kiếm. Số liệu tôi sử dụng là lượng thời gian tôi dành để tìm mã trong một tệp so với đọc nó. Nếu điều đó trở nên đáng chú ý, đã đến lúc phân vùng lại tệp hoặc lớp.

Một kích thước tốt cho một khối mã cơ bản là đủ ngắn, cả về chiều rộng và chiều cao, mà bạn có thể chiếu sự can đảm của nó trong quá trình đánh giá mã nhóm và có tất cả phù hợp mà không cần phông chữ quá nhỏ mà anh chàng ở phía sau phòng hội thảo không thể đọc nó. Kích thước này cũng hữu ích nếu bạn được gọi để giải thích một số mã khi tất cả những gì bạn có với bạn là một thiết bị di động hoặc máy tính bảng.


Đây là hướng dẫn hữu ích nhất, cảm ơn bạn rất nhiều!
Devin G Rhode

Có độ dài tập tin quá ngắn không? Tôi có một dự án với 35 tệp với độ dài trung bình ~ 200 dòng.
Dan

1
@Dan tôi sẽ mạo hiểm "không" như câu trả lời. Nếu việc mở tệp quá khó trong thiết lập của bạn, có lẽ đã đến lúc cải thiện thiết lập của bạn (ví dụ: plugin vim, IDE tốt hơn, bất cứ điều gì emacs làm)
Mike Graf

@Dan: Tập tin quá ngắn? Có thể nếu bạn dành nhiều thời gian hơn để tìm kiếm tệp nhỏ chính xác cho một vài LỘC thay vì tìm thấy chúng trong một số tệp có liên quan chặt chẽ và hợp lý (nhưng không quá dài).
hotpaw2

9

Không có điều đó, và nếu có, nó sẽ phụ thuộc rất nhiều vào ngôn ngữ bạn đang sử dụng (làm điều tương tự trong trình biên dịch so với C # hoặc Java chẳng hạn).

Đối với các ngôn ngữ cấp cao hơn, bạn có thể xem cuộc thảo luận SO này . Đối với Java / C #, 10-20 dòng trên mỗi phương thức là những gì Bob Martin khuyến nghị ở mức tối đa. Không có thảo luận liên quan đến các tập tin, vì nó không liên quan và phụ thuộc vào những gì lớp học phải làm.

Liên quan đến giới hạn 80 ký tự trên mỗi dòng - đây là một sự trở lại với thời của thẻ đục lỗ. Phải nói rằng, khi các dòng phát triển quá dài, khả năng đọc bị ảnh hưởng.


5
+1: Thật tốt khi giữ các dòng nhỏ hơn 80 ký tự; dễ đọc hơn và cung cấp nhiều chỗ hơn cho các cửa sổ cạnh nhau
Donal Fellows

6
Cá nhân, tôi nghĩ rằng khả năng đọc bị ảnh hưởng khi một dòng được cắt thành nhiều dòng để phù hợp với 80 hoặc ít hơn. Cũng có thời gian lãng phí khi quyết định nơi để nghỉ ngơi, hoặc tranh luận về vấn đề đó.
ergosys

5

Độ dài tệp và dòng là các phép đo tác động thứ cấp của độ phức tạp và do đó rất khác nhau. Những gì bạn nên nhắm đến là mã mà không phức tạp không cần thiết, không phải là số lượng dòng tối đa nhất định.

Các tệp dài có xu hướng chỉ ra rằng các phương thức, chương trình con hoặc các lớp quá phức tạp (làm quá nhiều thứ, không đủ yếu tố, v.v.)

Các dòng dài có xu hướng chỉ ra rằng các biểu thức quá phức tạp.

Chúng là những mùi chỉ ra một vấn đề mã tiềm năng, không được xác định rõ số liệu mục tiêu.


3

Độ dài của dòng phải sao cho bạn không phải cuộn màn hình để xem toàn bộ dòng. Điều đó phụ thuộc vào kích thước màn hình và độ phân giải.

Phương pháp và chức năng là tốt nhất nếu có thể vừa với một màn hình.

Các tập tin không nên quá dài. Tốt nhất là các tệp ngắn, nơi dễ hiểu lớp và thực hiện.
Khi tôi làm việc trong một dự án có tệp 10 klines. Nó giống như đọc một cuốn sách rất phức tạp. Tôi có cần cho biết có bao nhiêu vấn đề mà việc thực hiện gây ra không?


Mã không nên yêu cầu thiết lập màn hình lớn phông chữ nhỏ, đặc biệt đối với đánh giá mã nhóm.
hotpaw2

"Độ dài dòng phải sao cho bạn không phải cuộn màn hình để xem toàn bộ dòng." - nếu trình soạn thảo của bạn kết thúc tốt đẹp thì sao?
Dan Dascalescu

3

80 ký tự!

Tôi nhớ rằng tôi đã từng xem các tệp mã nguồn cho các chương trình thanh toán khoảng 80 trang trở lên khi tôi thực hiện COBOL. Tất nhiên, tôi không thể thấy rằng đây là thực tế phổ biến nhưng 80 ký tự cũng vô lý như nhau.

Từ chế độ xem kích thước lớp, nếu bạn cố gắng áp dụng đề xuất này trên một lớp Khách hàng điển hình có khoảng 80 thuộc tính và 20 phương thức hoặc hơn, bạn sẽ phải chia lớp thành nhiều lớp khác và thực sự làm cho mã rất lộn xộn.


1
Chắc chắn rồi. 80 ký tự có nghĩa là bạn có thể in ra một phần mã để động não ở kích thước phông chữ hợp lý trên một tờ A4 / Letter chân dung. Điều đó cũng có nghĩa là trên màn hình máy tính phát triển hợp lý, bạn có thể xem ba bản sao của mã nguồn cạnh nhau mà không cần cuộn ngang để thực hiện hợp nhất ba chiều (Hài hước rằng 80x8x3 là 1920 * 8 ').
Đánh dấu gian hàng

2

Tôi cố gắng giữ các lớp và phương thức ngắn, nhưng đừng quá lo lắng về độ dài dòng. Trong những ngày của màn hình rộng và số nhận dạng dài, tôi nghĩ rằng tám mươi nhân vật là quá ít. Phải mất một số công việc để phá vỡ các câu lệnh để chúng dễ đọc và với giới hạn tám mươi ký tự, nó xảy ra khá thường xuyên. Tôi nghĩ khoảng 120 hoặc 130 cột trên mỗi dòng là hợp lý hơn.


Tôi sử dụng màn hình 22 "lật theo chiều dọc, mang lại cho tôi 1080 pixel trên mỗi màn hình (và theo chiều dọc, tôi có thể có 104 dòng mã hiển thị cùng một lúc!). Giữ độ rộng dòng tới 90 ký tự trở xuống là hữu ích trong các tình huống như thế này.
Roy Tinker
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.