2014-12-06 16 views
8

Hướng dẫn kiểu cho các ngôn ngữ khác nhau đề xuất phạm vi độ dài dòng tối đa từ 80-100 ký tự để dễ đọc và dễ hiểu.Duy trì độ dài dòng tối đa khi sử dụng tab thay vì dấu cách?

Câu hỏi của tôi là, cách mọi người sử dụng các tab thụt đầu dòng tuân thủ giới hạn độ dài dòng? Bởi vì, nếu độ dài của tab được đặt thành 2 trong trình chỉnh sửa của bạn, cùng một mã có thể là trên dài 80 ký tự trong trình chỉnh sửa của người khác có độ dài tab được đặt thành 3/4/6/8.

Một số đề xuất rằng tôi tinh thần xem độ dài tab của tôi là 8 ký tự. Điều này không thực tế và sẽ không để tôi tập trung vào lập trình vì tôi phải kiểm tra nó cho mọi dòng khác.

Vì vậy, làm thế nào để bạn (nếu bạn chỉ sử dụng các tab trong mã của mình) làm điều đó?

+2

Nếu các tab không có chiều dài được đồng ý chung, và đó là những gì bạn nói và những gì tôi nghĩ là tốt, việc sử dụng các tab rơi ra khỏi quy tắc này. Nếu ai đó đến và nói: các tab của tôi có độ dài 100 ký tự, nó sẽ bị tính toán và logic, để tính toán những gì có thể, những gì không. Nếu chiều dài "được tư vấn" của một dòng không được đồng ý, đó là một vấn đề khác. Giải pháp: không sử dụng tab, sử dụng dấu cách. Các tab rất hữu ích, nhưng không phải trong mã hóa, tôi nghĩ vậy. – tvCa

+0

Đó là một đối số lớn không sử dụng các tab. Bạn chỉ cần nói mình vào việc không sử dụng chúng -) – trailmax

+1

Cuộc tranh luận giữa các tab và Spaces lặp lại các hộp thoại tôn giáo trong suốt các độ tuổi. Những người có ý kiến ​​mạnh mẽ biết rằng họ đúng và những người không đồng ý là sai, thời gian. Không có Chân lý không thể đảo ngược không thể đảo ngược có thể giải quyết vấn đề bằng cách này hay cách khác. (Nếu có, chúng ta sẽ biết nó ngay bây giờ.) –

Trả lời

3

Hầu như tất cả ngôn ngữ đều có quy ước cho kích thước tab. Hầu hết các dự án đều có quy ước về kích thước tab, là thường là (mặc dù không phải lúc nào cũng) giống như kích thước tab của ngôn ngữ.
Ví dụ, Ruby 2, Python & PHP là 4, C là 8 vv

Gắn bó với chiều dài tab của dự án, hoặc kích thước tab ngôn ngữ nếu không có rõ ràng kích thước tab dự án, đến nay là điều lành mạnh nhất để làm, vì điều này gần như tất cả mọi người sẽ sử dụng, ngoại trừ có lẽ một vài.
Khả năng đặt kích thước tab khác nhau có thể là lợi thế lớn nhất khi sử dụng tab thay vì dấu cách và nếu người dùng muốn đi chệch khỏi tiêu chuẩn thì điều đó là tốt, nhưng không có cách nào hợp lý để cũng tuân thủ chiều dài dòng tối đa trong mọi tình huống có thể xảy ra.

Bạn có thể so sánh nó với hầu hết các trang web; chúng được thiết kế cho mức thu phóng 100%. Phóng to hoặc thay đổi kích thước phông chữ hầu như luôn hoạt động, nhưng một số thứ nhỏ có thể bị hỏng. Thực tế là không thể thiết kế cho mọi mức thu phóng có thể ở kích thước phông chữ & có thể, do đó đồ tạo tác được chấp nhận.

Nếu bạn muốn chắc chắn rằng mã tuân thủ để cả chiều dài dòng kích thước tab, có lẽ bạn nên sử dụng không gian, và không phải tab "thực". Cá nhân, tôi cảm thấy những nguyên tắc này chính xác là: hướng dẫn; và không phải là quy tắc nghiêm ngặt, vì vậy tôi không nghĩ rằng nó quan trọng đến thế. Tuy nhiên, ý kiến ​​của người khác lại khác nhau về vấn đề này.

Cá nhân, tôi thích các tab vì một số lý do không quan trọng bây giờ, nhưng chỉ chỉ lệch khỏi tiêu chuẩn tạm thời, thường là khi chỉnh sửa mã lồng nhau nơi tôi muốn rõ ràng hơn chỉnh sửa.

0

Một số trình chỉnh sửa có thể được thiết lập để chèn một số khoảng trắng bằng độ dài tab của bạn thay vì tab thực (Visual Studio được bật theo mặc định). Điều này cho phép bạn sử dụng phím tab để thụt lề trong khi viết mã, nhưng cũng đảm bảo rằng mã sẽ trông giống nhau khi ai đó đọc nó, bất kể độ dài tab của chúng có thể là bao nhiêu.

Mọi thứ trở nên phức tạp hơn một chút nếu người đọc cũng cần chỉnh sửa mã, giống như trường hợp trong mỗi nhóm phát triển. Các nhóm thường sẽ có các tab so với khoảng trống và độ dài tab như một phần của tiêu chuẩn mã hóa của chúng. Mỗi nhà phát triển chịu trách nhiệm thực hiện cam kết của mình phù hợp với tiêu chuẩn, thường là bằng cách thiết lập môi trường của họ để làm điều này tự động. Các thay đổi không đáp ứng tiêu chuẩn có thể được hoàn nguyên và nhà phát triển đã thực hiện để sửa chúng trước khi chúng được tích hợp.

2

Bạn có thể không viết các dòng rất dài thường xuyên, vì vậy có thể bạn sẽ không phải định dạng lại mã của mình quá thường xuyên. Vì vậy, bạn có thể sử dụng một cách tiếp cận, nơi bạn định kỳ kiểm tra tệp của mình để tuân thủ và sửa bất kỳ thứ gì ngoài ý muốn (ví dụ: bạn có thể thực hiện việc này trước khi gửi tệp để xem xét mã).

Dưới đây là một kịch bản Python trivially đơn giản mà phải mất một tập tin trên stdin và cho bạn biết dòng vượt quá 80 ký tự:

TABSIZE = 8 
MAXLENGTH = 80 
for i, line in enumerate(sys.stdin): 
    if len(line.rstrip('\n').replace('\t', ' '*TABSIZE)) > MAXLENGTH: 
     print "%d: line exceeds %d characters" % (i+1, MAXLENGTH) 

Bạn có thể mở rộng này theo những cách khác nhau: đã mất một tên tập tin/thư mục và tự động quét Tất cả mọi thứ trong đó, làm cho kích thước tab hoặc chiều dài có thể cấu hình, vv

0

Nếu bạn định hướng dẫn kiểu mà mọi người phải tuân thủ thì một cách để đảm bảo rằng tất cả mã tuân thủ tối đa chiều rộng cột 100 là sử dụng mã định dạng như Clang Format khi đăng ký, ví dụ: chúng bao gồm option để đặt số ColumnLimit:

Giới hạn cột.

Giới hạn cột là 0 có nghĩa là không có giới hạn cột. Trong trường hợp này, định dạng clang sẽ tôn trọng các quyết định vi phạm của đầu vào trong các tuyên bố trừ khi chúng mâu thuẫn với các quy tắc khác.

Sau khi nhóm của bạn đồng ý với các cài đặt thì không ai phải suy nghĩ về các chi tiết này khi định dạng mã đăng ký sẽ được tự động hoàn tất. Điều này đòi hỏi một mức độ thỏa hiệp nhưng một lần tại chỗ bạn ngừng suy nghĩ về khá nhanh chóng và bạn chỉ lo lắng về mã của bạn chứ không phải định dạng.

Các vấn đề liên quan