Bài 4.6. Python - Quy tắc định dạng mã

Bài 4.6. Python - Quy tắc định dạng mã
Bây giờ bạn đang viết các chương trình dài hơn, đây là lúc tốt để học cách định dạng mã của bạn một cách nhất quán. Viết mã dễ đọc giúp bạn theo dõi những gì chương trình của bạn đang làm và giúp người khác hiểu mã của bạn.
Các lập trình viên Python đã đồng ý về một số quy ước định dạng để đảm bảo rằng mã của mọi người được cấu trúc theo cách tương tự. Khi bạn đã học cách viết mã Python sạch, bạn sẽ có thể hiểu cấu trúc tổng thể của mã Python của người khác, miễn là họ tuân theo cùng các hướng dẫn. Nếu bạn hy vọng trở thành một lập trình viên chuyên nghiệp vào một thời điểm nào đó, bạn nên bắt đầu tuân theo các hướng dẫn này càng sớm càng tốt để phát triển thói quen tốt.
Hướng dẫn định dạng
Khi ai đó muốn thay đổi ngôn ngữ Python, họ viết một Đề xuất Cải tiến Python (PEP). Một trong những PEP lâu đời nhất là PEP 8, hướng dẫn các lập trình viên Python cách định dạng mã của họ. PEP 8 khá dài, nhưng phần lớn liên quan đến các cấu trúc mã phức tạp hơn những gì bạn đã thấy cho đến nay.
Hướng dẫn định dạng Python được viết với hiểu biết rằng mã được đọc nhiều hơn là được viết. Bạn sẽ viết mã của mình một lần và sau đó bắt đầu đọc nó khi bạn bắt đầu gỡ lỗi. Khi bạn thêm tính năng vào một chương trình, bạn sẽ dành nhiều thời gian hơn để đọc mã của mình. Khi bạn chia sẻ mã của mình với các lập trình viên khác, họ cũng sẽ đọc mã của bạn.
Giữa việc viết mã dễ viết hơn hoặc mã dễ đọc hơn, các lập trình viên Python sẽ gần như luôn khuyến khích bạn viết mã dễ đọc hơn. Các hướng dẫn sau đây sẽ giúp bạn viết mã rõ ràng từ đầu.
Thụt lề
PEP 8 khuyến nghị bạn sử dụng bốn khoảng trắng cho mỗi mức thụt lề. Sử dụng bốn khoảng trắng cải thiện khả năng đọc trong khi vẫn để lại chỗ cho nhiều mức thụt lề trên mỗi dòng.
Trong tài liệu xử lý văn bản, mọi người thường sử dụng tab thay vì khoảng trắng để thụt lề. Điều này hoạt động tốt cho các tài liệu xử lý văn bản, nhưng trình thông dịch Python sẽ bị nhầm lẫn khi các tab được trộn lẫn với khoảng trắng. Mỗi trình soạn thảo văn bản cung cấp một cài đặt cho phép bạn sử dụng phím TAB nhưng sau đó chuyển đổi mỗi tab thành một số khoảng trắng nhất định. Bạn chắc chắn nên sử dụng phím TAB của mình, nhưng cũng đảm bảo rằng trình soạn thảo của bạn được đặt để chèn khoảng trắng thay vì tab vào tài liệu của bạn.
Trộn lẫn tab và khoảng trắng trong tệp của bạn có thể gây ra các vấn đề rất khó chẩn đoán. Nếu bạn nghĩ rằng bạn có sự trộn lẫn giữa tab và khoảng trắng, bạn có thể chuyển đổi tất cả các tab trong tệp thành khoảng trắng trong hầu hết các trình soạn thảo.
Độ dài dòng
Nhiều lập trình viên Python khuyến nghị rằng mỗi dòng nên có ít hơn 80 ký tự. Lịch sử của hướng dẫn này phát triển vì hầu hết các máy tính chỉ có thể hiển thị 79 ký tự trên một dòng trong cửa sổ terminal. Hiện tại, mọi người có thể hiển thị các dòng dài hơn nhiều trên màn hình của họ, nhưng vẫn có những lý do khác để tuân theo tiêu chuẩn độ dài dòng 79 ký tự.
Các lập trình viên chuyên nghiệp thường có nhiều tệp mở trên cùng một màn hình, và sử dụng độ dài dòng tiêu chuẩn cho phép họ nhìn thấy toàn bộ các dòng trong hai hoặc ba tệp mở cạnh nhau trên màn hình. PEP 8 cũng khuyến nghị rằng bạn giới hạn tất cả các nhận xét của mình ở 72 ký tự mỗi dòng, vì một số công cụ tạo tài liệu tự động cho các dự án lớn hơn thêm các ký tự định dạng vào đầu mỗi dòng nhận xét.
Các hướng dẫn PEP 8 về độ dài dòng không phải là cố định, và một số nhóm thích giới hạn 99 ký tự. Đừng lo lắng quá nhiều về độ dài dòng trong mã của bạn khi bạn đang học, nhưng hãy nhận thức rằng những người làm việc cộng tác gần như luôn tuân theo các hướng dẫn PEP 8. Hầu hết các trình soạn thảo cho phép bạn thiết lập một dấu hiệu trực quan, thường là một đường thẳng đứng trên màn hình của bạn, cho bạn biết giới hạn này ở đâu.
Dòng trống
Để nhóm các phần của chương trình của bạn một cách trực quan, hãy sử dụng các dòng trống. Bạn nên sử dụng các dòng trống để tổ chức các tệp của mình, nhưng đừng làm điều đó quá mức. Ví dụ, nếu bạn có năm dòng mã để xây dựng một danh sách và sau đó là ba dòng khác để làm gì đó với danh sách đó, thì việc đặt một dòng trống giữa hai phần là hợp lý. Tuy nhiên, bạn không nên đặt ba hoặc bốn dòng trống giữa hai phần.
Các dòng trống sẽ không ảnh hưởng đến cách mã của bạn chạy, nhưng chúng sẽ ảnh hưởng đến khả năng đọc mã của bạn. Trình thông dịch Python sử dụng thụt lề ngang để diễn giải ý nghĩa của mã của bạn, nhưng nó bỏ qua khoảng cách dọc.
Các hướng dẫn định dạng khác
PEP 8 có nhiều khuyến nghị định dạng bổ sung, nhưng hầu hết các hướng dẫn này liên quan đến các chương trình phức tạp hơn những gì bạn đang viết ở thời điểm này. Khi bạn học các cấu trúc Python phức tạp hơn, tôi sẽ chia sẻ các phần liên quan của các hướng dẫn PEP 8.
Comments