Giới hạn 80 ký tự có còn phù hợp trong thời gian của màn hình rộng không? [đóng cửa]


56

trên màn hình rộng, người ta có thể dễ dàng nhìn thấy hơn 80 ký tự cùng một lúc mà không cần thanh cuộn. ngay cả linus torvalds cũng thấy giới hạn 80 ký tự là lỗi thời .

vì vậy, giới hạn 80 ký tự có còn phù hợp trong thời gian của màn hình rộng không?


1
Có một lý do rất chính đáng để giữ các dòng ngắn gọn, ví dụ như Eclipse. Điều này cho phép bạn in các chương trình của mình trên một máy in bình thường ở phông chữ dễ đọc mà không cần ngắt dòng.

Trong bối cảnh nào? Nếu bạn đang hỏi trong một bối cảnh lập trình cụ thể, tôi sẽ bỏ phiếu để mở lại.
Nicole


Gói từ của Visual Studio bị hỏng, vì vậy hầu hết người dùng đều tắt nó. Thay vào đó, họ đặt hàng ngắt bằng tay. Điều này có vẻ khủng khiếp cho bất cứ ai có chiều rộng màn hình khác nhau. visualstudio.uservoice.com/forums/121579-visual-studio/ từ
Đại tá Panic

Câu trả lời:


28

Có một số lý do để vẫn tuân thủ giới hạn 80 ký tự (hoặc, giới hạn 74 ký tự thậm chí còn tốt hơn; nó cho phép mã duy trì ít hơn 80 cột ngay cả khi thêm dấu khác biệt và trích dẫn email, nếu bạn xem lại mã danh sách mail).

Ngay cả trong thời đại của màn hình rộng, tôi thích có một số cửa sổ mở cạnh nhau, hiển thị các phần khác nhau của mã. Chẳng hạn, tôi thường có một trình duyệt web và email mở trên một màn hình, hai tệp và thiết bị đầu cuối mở cạnh nhau trên màn hình thứ hai. Nếu bạn có các dòng chạy trên 80 cột, bạn cần xử lý trình soạn thảo bao bọc các dòng (điều này xấu và khiến mã khó điều hướng hơn), hoặc mở rộng các cửa sổ sao cho bạn có thể vừa với nhiều màn hình trên Một lần.

Ngay cả khi bạn thường không chỉnh sửa theo cách này, nếu bạn đã từng sử dụng công cụ tìm khác biệt, bạn sẽ đánh giá cao các tệp có độ dài dòng hợp lý sẽ giúp bạn dễ dàng xem hơn.

Cũng có một vấn đề về mật độ mã. Tôi thích có nhiều bối cảnh khi đọc mã. Nó là rất nhiều, nhanh hơn nhiều để lướt lên và xuống một cửa sổ hơn là để cuộn. Nếu bạn có các dòng rất dài, bạn cũng có xu hướng có các dòng có độ dài khác nhau rất nhiều, dẫn đến nhiều bất động sản màn hình bị lãng phí và có thể phù hợp với ít mã hơn trên màn hình tại một thời điểm nhất định.

Và cuối cùng, nếu bạn có những dòng rất dài, thì điều đó thường có nghĩa là bạn có những dòng rất phức tạp, sự phân chia sâu sắc hoặc bạn có những định danh rất dài. Tất cả những điều này có thể là một vấn đề. Các dòng phức tạp có lẽ đang làm quá nhiều; nếu bạn có thể chia nó thành nhiều dòng đơn giản hơn, có lẽ bạn nên làm vậy. Lõm sâu có nghĩa là bạn có thể lồng quá nhiều vòng lặp và điều kiện, điều này có thể làm cho mã của bạn bị lẫn lộn; xem xét tái cấu trúc thành một số chức năng. Và nếu số nhận dạng của bạn quá dài, nó có thể khiến việc đọc mã của bạn trở nên rất khó khăn. Mọi người thường nhận ra từ là đơn vị cá nhân; họ không đọc từng ký tự một, nhưng nhìn vào hình dạng tổng thể của từ. Số nhận dạng dài khó phân biệt theo cách này và thông thường nếu chúng dài như vậy, chúng chứa thông tin dư thừa hoặc lặp đi lặp lại.

Bây giờ, mặc dù vẫn còn thực hành tốt để giữ mã dưới 80 cột, nhưng đây không phải là một trong những quy tắc cần phải tuân theo một cách tôn giáo, tự buộc mình phải làm cho một số dòng phù hợp khi nó không phù hợp. Tôi khuyên bạn nên cố gắng giữ tất cả mã của mình dưới 80 cột, nhưng khi nó không phù hợp, đừng quá lo lắng về nó.


3
Đã đồng ý. Tuy nhiên, số nhận dạng dài đôi khi được khuyến khích (bằng các hướng dẫn mã hóa như "sử dụng tên có ý nghĩa" hoặc "tránh viết tắt khó hiểu") hoặc cần thiết (chẳng hạn như std::vector<...>::const_iterator), mặc dù trong trường hợp sau, mọi thứ thường có thể được giảm bớt bằng typedefs.
musiphil

Những lý do tuyệt vời. Tôi không chắc chắn rằng độ dài dòng chính xác có vấn đề, miễn là nhóm của bạn (hoặc danh sách gửi thư?) Đồng ý với nó. Cá nhân, tôi đi với đề nghị của chú Bob không bao giờ vượt quá 120 ký tự.
Allan

1
@musiphil Vâng, đó là lý do tại sao tôi bao gồm đoạn cuối cùng. Tôi đã chạy vào các dòng trong C ++, nơi tôi chỉ đơn giản là không thể vừa với tên lớp, tên phương thức và kiểu trả về trên một dòng 80 cột khi khai báo phương thức. Thay vì thực hiện một số ngắt dòng thực sự kỳ lạ, tốt hơn là chỉ phá vỡ quy tắc 80 cột (hoặc 100 cột) cho một dòng đó.
Brian Campbell

46

Nếu tôi giữ các dòng của mình dưới 100 ký tự, tôi có thể có hai cửa sổ soạn thảo cạnh nhau trên màn hình màn hình rộng. Rất hữu ích khi có cả tệp tiêu đề lớp và triển khai cả hai cùng một lúc hoặc có mã ở một bên gọi mã bên kia. Và, nếu tôi giữ các dòng ngắn, tôi không cần một thanh cuộn ngang trên các cửa sổ soạn thảo của mình, điều này mang lại cho tôi nhiều không gian theo chiều dọc hơn.

80 ký tự có thể đã lỗi thời, nhưng có một số công đức trong việc giữ mọi thứ trong lý do.


1
+1, tôi thường xuyên mở nhiều tệp nguồn song song trong Vim hoặc các trình chỉnh sửa khác. Với một phông chữ đủ nhỏ và lề phải khá hẹp, tôi có thể nhanh chóng có được một cái nhìn tổng quan tốt về dự án và thậm chí mở rất nhiều tài liệu.
greyfade

4
80 ký tự vẫn có liên quan vì nhiều người mặc định có các thiết bị đầu cuối và trình soạn thảo rộng; do đó, nếu bạn giới hạn bản thân ở mức 80, bạn sẽ thân thiện với những người đó, trái ngược với việc yêu cầu họ sắp xếp lại tất cả các cửa sổ của họ hoặc xử lý việc quấn đường hoặc cuộn ngang.
Brian Campbell

1
80 ký tự vẫn hợp lý; đi lâu hơn điều đó khuyến khích mã lồng nhau (thay vì tái cấu trúc!) và có nhiều cửa sổ cạnh nhau là đặc biệt hữu ích. Thêm một màn hình khác chỉ làm tăng số lượng cửa sổ bạn có thể nhìn thấy cùng một lúc!
Donal Fellows

1
80 có thể thân thiện với VMS. Tha thứ cho suy nghĩ tuổi mới của tôi nhưng chúng ta nên mở rộng giới hạn khi có thể và giữ nó ở nơi cần thiết ..
Ross

29

Tôi không nghĩ màn hình có liên quan gì đến nó - ít nhất là không còn nữa.

Nếu bạn không thể mã một dòng trong 80 ký tự, dù sao đó cũng có thể là dấu hiệu của mã xấu. Biểu thức quá phức tạp. Lõm quá sâu. vv Bạn nên dừng lại và suy nghĩ lại những gì bạn đang làm.

Nhưng nếu bạn chắc chắn rằng mã yêu cầu hơn 80 dòng, hãy tiếp tục và làm điều đó. Tôi nghĩ sẽ tốt hơn nếu có một mã vượt qua 80 ký tự hơn là chỉ thêm các thay đổi thành ngữ để làm cho nó nhỏ hơn.

Cá nhân tôi ghét loại công cụ này:

ret = my_function(parameter1, \
                  parameter2, \
                  parameter3, parameter4);

Thay vì chỉ đơn giản:

ret = my_function(parameter1, parameter2, parameter3, parameter4);

5
Chắc chắn nếu dòng 3 trong ví dụ đầu tiên không quá dài, dòng 2 có thể được kết hợp thành dòng 1, khiến nó trông dễ đọc hơn nhiều. (Ngôn ngữ nào yêu cầu thoát dòng mới trong ngoặc đơn?)

1
Ahh, đó chỉ là một số mã giả tôi đã viết. Nhưng tôi nghĩ C yêu cầu nó.
Cesar Canassa

4
Chỉ trong các định nghĩa vĩ mô nhiều dòng, hiếm (hoặc nên). Nó ảnh hưởng đáng kể đến việc lựa chọn độ dài dòng tối đa (duy trì dấu gạch chéo ngược như vậy không thú vị), vì vậy tôi tò mò tại sao bạn hiển thị nó. Có vẻ là một người đàn ông rơm ?

2
Nếu tôi gặp rắc rối khi ngắt một dòng trong một lệnh gọi hàm, tôi sẽ đặt từng tham số trên một dòng riêng, được thụt vào một cấp.
starblue

20

Để mã hóa?

Chắc chắn có. Người bình thường không thể đọc quá rộng. Với vài cột bạn di chuyển mắt ít hơn, bạn tập trung tốt hơn và trì hoãn sự mệt mỏi. Đó là một mức tăng tối thiểu nhưng là một điều quan trọng.


3
Mặc dù tôi cảm thấy mã rất khác với văn xuôi, nhưng thật mệt mỏi khi đọc mã theo định kỳ (tức là văn xuôi nói chung sẽ nhất quán hơn nhiều) kéo dài các dòng đến hơn 120 cột.

6

Có, có những lý do để giới hạn độ dài dòng mã:

  1. Mặc dù màn hình của chúng tôi đã mở rộng, đôi khi bạn cần in ra mã của mình. Nếu chỉ vì lý do này .
  2. Những người xem khác thường hiển thị các dòng có phân chia dọc - điều này trở nên khó khăn hơn nếu các dòng đó dài như một màn hình rộng sẽ cho phép.

Phải nói rằng, 80 là một chút quá ít. Tuy nhiên, một số hạn chế có lẽ là một ý tưởng tốt như một nguyên tắc thiết kế.

Tôi sẽ nói rằng các dòng dài thêm không nên không được phép, bởi vì đôi khi chúng cần thiết. Nhưng nếu hầu hết các chức năng chỉ có thể xem được trên màn hình 30 "thì mã có một số vấn đề.


5

Đó là tùy ý, nhưng có một giới hạn không độc đoán đối với những gì dễ đọc. Tôi thấy rằng các cột văn bản siêu rộng rất khó quét và đọc, bất kể chúng là mã hay văn xuôi. Hơn nữa, như rất nhiều câu trả lời khác đã chỉ ra, không giống như mã này sẽ là thứ duy nhất trên màn hình của bạn. Thật tuyệt khi có hai hoặc nhiều cửa sổ mã lên cùng một lúc và để chúng vừa với một màn hình rộng.


3

Có lẽ không liên quan để chọn chính xác giới hạn 80 ký tự; Điều gì sẽ thay đổi nếu giới hạn là 85, ví dụ?

Đúng là các màn hình được sử dụng hiện nay có độ phân giải cao hơn, nhưng trong trình soạn thảo văn bản / IDE, không phải tất cả không gian đều được lấy từ chế độ xem văn bản; trong trình chỉnh sửa tôi sử dụng hiển thị ở bên trái danh sách các tệp có trong dự án.

Độ phân giải được sử dụng trong netbook hoặc notebook không giống với màn hình; có lẽ có ý nghĩa khi sử dụng giới hạn ký tự không tạo ra "vấn đề" cho bất kỳ ai.


5
80 ký tự là giới hạn cứng của số lượng cột trên thẻ đục lỗ!
ChrisF

5
Không quan trọng tiêu chuẩn là gì, nhưng nếu mọi người làm việc theo cùng một tiêu chuẩn thì điều đó làm cho cuộc sống dễ dàng hơn.
Skilldrick

2

Nó thực sự phụ thuộc vào môi trường phát triển.

Ví dụ, trong một tập đoàn lớn với hàng ngàn nhà phát triển, có lẽ có hàng trăm người, trong suốt vòng đời của sản phẩm, phải xem xét một phần mã của nó. Với nhiều người như vậy, chắc chắn sẽ có một vài người, vì bất kỳ lý do gì (phần cứng cũ hơn, netbook, v.v.) đang hoạt động ở mức 800x600 hoặc nhỏ hơn. Có một số giá trị để chứa chúng.

Tại công ty 25 người của tôi, tôi nói vít nó. Tất cả chúng ta đều sử dụng màn hình hiện đại kép ở độ phân giải tối đa - 120-140 hoặc hơn là hướng dẫn không chính thức.


2

Có một số giới hạn chắc chắn có ý nghĩa. Nhưng giới hạn 80 ký tự là quá hạn chế. Tôi thích cái gì đó như giới hạn 96 ký tự. Nó đủ rộng cho hầu hết các mã tôi phải xử lý và nó đủ hẹp để hai tệp có thể được đặt cạnh nhau để phân tán (trên màn hình rộng).

Tôi tin rằng khả năng đọc mã vượt qua tất cả các mối quan tâm khác. Và với 96 ký tự trên mỗi dòng mã có thể được thực hiện dễ đọc hơn nhiều so với 80.

Tôi không mua lập luận rằng hầu hết mọi người đặt thiết bị đầu cuối của họ rộng 80 ký tự, không có máy in nào phải bọc các dòng dài hơn 80 ký tự. Đó không phải là một giới hạn cứng như trước đây. Bạn có thể dễ dàng đặt thiết bị đầu cuối và chiều rộng của máy in thành 100 ký tự.


1

Không, nó không còn phù hợp:

  • Hầu hết các phông chữ được sử dụng trong các ứng dụng và trên web đều không có chiều rộng cố định. Nói cách khác, 80 ký tự! = 80 ký tự.
  • Như bạn đã nói, độ rộng màn hình đã thay đổi - 80 ký tự không phải là ranh giới hợp lý.

80 ký tự thực sự là một hướng dẫn cho phông chữ có chiều rộng cố định trong môi trường giao diện điều khiển.

Tất nhiên, nếu bạn vẫn đang sử dụng phông chữ có chiều rộng cố định trong môi trường bảng điều khiển ... thì chắc chắn, 80 ký tự là hợp lý :)


3
Tôi khá chắc chắn rằng anh ta đã đề cập đến việc sử dụng giới hạn 80 ký tự trong mã nguồn, gần như được hiển thị phổ biến trong các phông chữ đơn cách.
Fishtoaster

1
Hmm ... trong trường hợp đó ... vẫn không, nhưng vì những lý do khác :)
Damovisa

1
80 ký tự là giới hạn cứng của số lượng cột trên thẻ đục lỗ!
ChrisF

0

Nếu bạn sử dụng trình soạn thảo trong GUI, thì 80 ký tự trên mỗi dòng là không liên quan, vì hầu hết các trình soạn thảo đàng hoàng - ví dụ Notepad ++ - có một nút để chuyển đổi dòng bọc. Với điều đó, nó không phải là một vấn đề, ngay cả khi xem mã trong một cửa sổ mỏng.

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.