[Học lập trình Python] 10 điều nên biết về phong cách viết code Python (Theo tiêu chuẩn PEP8)
ngày 06-01-2017
Là một lập trình viên, bạn có biết:
Khi được phân công vào một nhóm lập trình nào đó, chúng ta cần phối hợp làm việc với các thành viên trong nhóm chứ không làm việc một mình. Vì vậy, code chúng ta viết cần phải theo phong cách, quy định chung để mọi người đều có thể dễ dàng đọc hiểu, kết hợp, kiểm tra, bảo trì và tái sử dụng.
Code được viết theo phong cách chung là thể hiện cách làm việc chuyên nghiệp, cẩn thận, có nguyên tắc
Khi làm việc với ngôn ngữ lập trình nào, nên tuân thủ phong cách lập trình cụ thể của ngôn ngữ đó, tránh việc phối hợp nhiều phong cách trong một ngôn ngữ
Phong cách lập trình được xem là một “nền văn hóa chung” mà chắc chắn là các lập trình viên cần tìm hiểu “nền văn hóa chung đó”.
Trong bài viết này, chúng ta không trao đổi về phong cách lập trình một cách “chung chung” mà sẽ tập trung trao đổi về một số phong cách viết code mà bạn nên biết khi làm việc với ngôn ngữ lập trình Python. Các phong cách này theo tiêu chuẩn PEP 8 - được công bố chính thức trên website Python
1.Indentation (thụt lùi đầu dòng)
-Sử dụng 4 khoảng trắng cho mỗi cấp lùi đầu dòng
Nên viết:
Không nên viết:
2.Chiều dài tối đa của một dòng code
Để có thể tập trung đọc/viết code thì một dòng code không nên quá dài. Vì nếu code quá dài, chúng ta phải sử dụng tới thanh cuộn ngang kéo qua kéo lại khi đọc code, gây mất tập trung, khó làm việc.
-Chiều dài tối đa của một dòng code là 79 ký tự.
-Đối với một khối văn bản dài (ghi chú - comment): mỗi dòng trong khối nên được giới hạn 72 ký tự.
-Đối với dòng code dài thì nên ngắt ra thành nhiều dòng ngắn: bằng cách đưa các biểu thức vào các cặp ngoặc đơn, cắt dòng khi hoàn thành biểu thức và thêm dấu "\" rồi xuống dòng tiếp theo viết tiếp
oLưu ý: việc thụt lùi đầu dòng vẫn có cấp ngang với cấp ở dòng trên
Nên viết:
Không nên viết:
-Nên ngắt dòng trước rồi mới đến toán tử và toán hạng/ biểu thức tiếp theo đối với những code dài với nhiều toán tử, toán hạng/ biểu thức
Nên viết:
Không nên viết:
3.Blank line (dòng trống)
-Giữa các phương thức cách nhau bởi 1 dòng trống
-Giữa lớp và phương thức cách nhau bởi 2 dòng trống
-Các khối code riêng biệt cách nhau bằng 1 dòng trống
Nên viết:
Không nên viết:
4.Sử dụng mã hóa trong tập tin nguồn
-Code trong Python v.3 sử dụng mã hóa UTF-8, Python v.2 sử dụng ASCII
-Tập tin sử dụng UTF-8 (Python v.3) hoặc ASCII (Python v.2) là mặc định, không cần phải khai báo mã hóa.
5.Import
-Mỗi thư viện/module import được đặt trên một dòng riêng biệt
Nên viết:
Hoặc có thể viết:
Không nên viết
-import thường đặt ở đầu file, sau phần comment/ ghi chú giới thiệu về module và trước phần khai báo các hằng số và biến toàn cục.
-import thường được chia theo nhóm và mỗi nhóm import có thể có dòng trống
-Thứ tự các nhóm import như sau:
import các thư viện chuẩn
import các thư viện của nhà cung cấp thứ ba
import các thư viện và ứng dụng cục bộ
-Khi import một lớp từ một module chứa lớp thì ta có thể viết như sau:
Nên viết:
- Nếu cách import trên gây ra đụng độ cục bộ thì có thể viết lại như sau:
Nên viết:
6.Tên bắt đầu với hai dấu _ liên tục trong module
-Với tên biến bắt đầu với 2 dấu _ liên tục trong module (còn gọi là "dunders"), ví dụ như __all__ , __author__ , __version__, tên sẽ được đặt sau phần comment/ ghi chú giới thiệu về module nhưng đặt trước các import.
Nên viết:
7.Sử dụng dấu nháy đơn/ đôi cho chuỗi
-Trong Python, việc để nội dung chuỗi trong cặp dấu nháy đơn '' và nháy đôi "" là như nhau.
Nên viết:
-Tuy nhiên, khi thực hiện việc ghi chú (comment) thì ta nên sử dụng nháy đôi """ nội dung ghi chú """
Nên viết:
8.Sử dụng white space (khoảng trắng) trong biểu thức và câu lệnh
-Khoảng trắng được đặt ngay sau dấu , dấu :, dấu ; (phía trước các dấu này không có khoảng trắng)
Nên viết:
Không nên viết
-Không sử dụng khoảng trắng giữa tên hàm và cặp ngoặc ()
Nên viết:
Không nên viết:
-Không sử dụng khoảng trắng trước cặp ngoặc []
Nên viết:
Không nên viết:
-Chỉ sử dụng một khoảng trắng phía trước và sau toán tử để phân cách toán hạng và toán tử
Nên viết:
Không nên viết:
9.Ghi chú
-Nội dung nên ghi chú:
oThông tin: tác giả, version, ngày viết
Nên viết:
oCho những đoạn code khó, cần giải thích tóm tắt
-Nên sử dụng ngôn ngữ quốc tế (English)
-Ghi chú ngắn:
oCú pháp: # nội dung ghi chú
oCó một khoảng trắng giữa # và nội dung ghi chú
Nên viết:
-Ghi chú dài:
oCú pháp:
""" nội dung ghi chú
"""
Nên viết:
10.Quy tắc đặt tên
-Tên có phân biệt chữ hoa chữ thường
-Sử dụng phong cách under_score
-Tên biến chữ thường, tên hằng chữ hoa
Nên viết:
Không nên viết:
-Tên biến chỉ gồm một ký tự nên tránh đặt l (dễ nhầm với I), I (dễ nhầm với l), O (dễ nhầm với 0 - zero)
-Tên package: viết thường, ngắn gọn, không khuyến khích sử dụng dấu _
Nên viết:
Không nên viết:
-Tên module: viết thường, ngắn gọn, súc tích, dễ hiểu, các từ có thể cách nhau bằng dấu _ trong trường hợp muốn tên module dễ hiểu hơn
Nên viết:
Không nên viết:
Tên class (lớp) sử dụng nguyên tắc CapWords/ CamelCase
Nên viết:
Không nên viết:
-Tên function (hàm): viết thường, tên ngắn gọn, súc tích, dễ hiểu, các từ có thể cách nhau bằng dấu _ trong trường hợp muốn tên function dễ hiểu hơn
Nên viết:
Không nên viết:
Và còn một số phong cách lập trình khác khi học lập trình Python mà bạn có thể tham khảo thêm tại đây
Tham gia NGAY khóa học Lập trình Python để tạo lợi thế ứng tuyển tuyệt vời ở các Công ty phần mềm, bạn nhé!
Chúc bạn nhanh chóng làm quen với phong cách viết code trong ngôn ngữ lập trình Python.