Đây là một chủ đề rất chủ quan, nhưng bạn có thể lấy một số tín hiệu từ 1000 năm lịch sử typographic.
Nghiên cứu đã được thực hiện trên khoảng trắng trong kiểu chữ, nhưng ít hơn trên mã. Nhưng bạn có thể giả định nhiều phát hiện cơ bản về tính dễ đọc và hiểu cũng áp dụng cho mã. Nghiên cứu này, Reading Online Text: A Comparison of Four White Space Layouts, cho thấy khoảng cách dọc thích hợp với biên độ lớn tăng hiểu, nhưng làm chậm tốc độ. Đối với mã, nó có thể được giả định một cách an toàn rằng hiểu là quan trọng hơn tốc độ. Vì vậy, bạn có thể khách quan nói, không gian nhiều hơn là tốt hơn cho mã. Nhưng khi bạn nhận được vào chi tiết cụ thể của kích thước tab và định vị cú đúp nó được đánh giá cao chủ quan. Trong mã, lề là thụt đầu dòng, các đoạn là các hàm và khối mã, và dấu chấm là dấu ngắt dòng, dấu ngoặc ôm, dấu ngoặc đơn, v.v.
Khi bạn bắt đầu yêu cầu lập trình viên định dạng khoảng trắng nào dễ đọc hơn, phổ. Điều tốt nhất bạn có thể làm là tìm kiếm những điểm chung có vẻ là phổ quát.
Chẳng hạn như:
- đặt khoảng trắng trước và sau khi khối mã, như chức năng và các lớp
- đặt khoảng trắng trước và sau khi nhóm logic của mã trong khối
- khối dài mã không có dọc khoảng trắng khó đọc hơn
- các khối mã dài không có thụt đầu dòng khó đọc hơn
- các dòng mã dài không có dấu cách ngang khó đọc
Tôi nghĩ hầu hết các lập trình viên sẽ đồng ý với những tuyên bố đó.
Ví dụ (pseudo-code):
thisismore(difficult<toread)because,itsall-smushed{together}
this-is-less (difficult < to-read) because, it's-not-all - smushed { together }
Để chạm vào bốn bạn điểm cuối cùng:
đặt tên biến:
Đây là tính chủ quan như khoảng trắng, nhưng một lần nữa, bạn có thể tìm đến typography cho manh mối. Typography có phông chữ serif, chữ in hoa bắt đầu câu, dấu chấm câu và dấu cách sau dấu chấm. Tất cả những điều này là để cho phép đôi mắt của bạn chuyển đổi giữa các từ và câu. Với các biến, sự rõ ràng là quan trọng, vì vậy chúng thường là các tên nhiều từ. Để đôi mắt của bạn dễ dàng đọc chúng, một cái gì đó cần phải cảnh báo họ rằng một từ mới đã bắt đầu.
Đây là khó khăn hơn để đọc (đối với hầu hết mọi người):
Thân này:
- my-dài-biến-tên
- myLongVariableName
- my_long_variable_name
- MY_LONG_VARIABLE_NAME
Bây giờ mà trong số đó là tốt nhất hoặc nhất có thể đọc được là chủ quan, và có thể lúc nào cũng được. Nhưng điều quan trọng là cái gì đó tách biệt các từ.
Thụt lề ngang:
Mã không thụt lề chút nào khó đọc hơn mã. Chấm lõm quá nhỏ và đôi mắt của bạn gặp khó khăn trong việc phân biệt các khối. Quá lớn và bạn lãng phí không gian và thêm không rõ ràng hơn. Một nơi nào đó giữa bốn và tám có vẻ là đúng dựa trên các dòng mã cao 70 bazillion được viết bằng các kích thước đó.
Căn chỉnh ngang:
Một lần nữa, kiểu chữ để giải cứu. Danh sách các thứ được căn chỉnh trong các cột dễ đọc hơn. Đối với dữ liệu mục danh sách dài hơn một hoặc hai từ hoặc số (như câu), danh sách dấu đầu dòng được sử dụng. Đối với dữ liệu văn bản, cột được căn trái được sử dụng. Đối với dữ liệu số, cột được căn phải được sử dụng. Bạn có thể áp dụng các hiệu trưởng này cho mã. Danh sách có dấu đầu dòng có thể được xem là các khối mã, tất cả đều được căn chỉnh với cùng một mức thụt đầu dòng. Các biến là dữ liệu văn bản, do đó việc căn trái sẽ dễ đọc nhất. Nếu các giá trị bạn chỉ định là số, căn chỉnh phải là tốt nhất.
Đây là khó khăn hơn để đọc (đối với hầu hết mọi người):
var oneVariable = 10023, a = 370,
p = 4,
answerToLife = 42,
openThePodBayDoorHal = false;
Thân này:
var oneVariable = 10023,
a = 370,
p = 4,
answerToLife = 42,
openThePodBayDoorHal = false;
Và đây có lẽ là dễ nhất:
var oneVariable = 10023,
a = 370,
p = 4,
answerToLife = 42,
openThePodBayDoorHal = false;
Vertical Spacing:
Im agine toàn bộ bài viết này không có khoảng cách giữa các đoạn văn. Hầu hết mọi người đều có thể đồng ý rằng sẽ khó đọc và dễ hiểu hơn. Bây giờ, nhiều người có thể lập luận rằng không gian nhiều hơn giữa các phần sẽ còn tốt hơn nữa. Trong kiểu chữ, các phần được mô tả với các tiêu đề có kích thước phông chữ lớn hơn và không gian dọc hơn (như bạn thấy trong HTML với H1, v.v.). Trong mã, chúng tôi có một cỡ chữ, vì vậy chúng tôi phải làm việc với khoảng trắng và bất kỳ khái niệm giằng nào mà ngôn ngữ sử dụng (nếu có). Giống như khoảng cách ngang, nhiều hơn là tốt hơn ít hơn. Cụ thể về chính xác những gì có nghĩa là chủ quan, nhưng với hầu hết các ngôn ngữ, lập trình viên giải quyết thành một quy ước cho ngôn ngữ mà hầu hết mọi người sử dụng. Nếu bạn định nghĩa ngôn ngữ của mình (hoặc chuẩn mã hóa), thì bạn có thể đặt quy ước.
Điều quan trọng nhất, không quan trọng tiêu chuẩn là gì, là nó được sử dụng nhất quán trong tất cả mã của bạn. Đây là cách quan trọng hơn các chi tiết cụ thể của tiêu chuẩn. Mã được định dạng nhất quán dễ dàng hơn nhiều bất kể tiêu chuẩn là gì.
Tìm kiếm typography readability studies để biết thêm thông tin.
WRT camelTheo vs snake_case, nó phụ thuộc vào độ nhạy của ngôn ngữ. Trong C bạn có thể 'thi hành' aCamelCasedFunction trong PHP acamelcasedfunction cũng sẽ hoạt động. Vì vậy, đối với các ngôn ngữ không phân biệt dạng chữ, việc sử dụng dấu gạch dưới có lẽ dễ đọc hơn trong thực tế. – Bink