Code chuẩn - Chuẩn code (Phần 1)

LAMP Sep 18, 2020
Ảnh minh họa (Lấy từ đâu đó trên internet)

Đã bao giờ bạn tự đặt câu hỏi cho mình rằng: "Chuẩn Code là gì? Làm thế nào để code chuẩn?" chưa?

Bài post này tôi xin giới thiệu với các bạn về Chuẩn Code (Coding Standard) và PSR-1: Basic Coding Standard


Coding Standard (Chuẩn Code) là gì?

Chuẩn code là một tập hợp các nguyên tắc code (Coding Rules) được đóng góp và chấp nhận bởi cộng đồng coder trên toàn thế giới.

Tại sao phải tuân thủ theo chuẩn code

Tuân thủ chuẩn code giúp cho code của chúng ta được sạch đẹp, dễ đọc và dễ hiểu.

Có nhiều người đặt câu hỏi: "Dễ đọc, dễ hiểu để làm gì? Tôi code tôi hiểu là được rồi, ngoài tôi ra thì cần quái gì ai hiểu cho mệt". Nghe thì có lý, nhưng đấy là lý luận cùn thôi.

Đầu tiên, khi xảy ra bug thì bạn chính là người phải tìm bug trong đống hổ lốn code mà bạn đã viết. Người tiếp theo ăn đạn, chính là thằng maintain cái chức năng liên quan đến cái đống code đấy - nếu thằng đó là bạn thì ngon rồi, vì bạn hiểu đống code đấy mà.

Thôi không dài dòng văn tự, bạn có thể chọn 1 trong 2 trường phái sau để trở thành pro coder:

Lai dít

Style pro (Nhìn code phát biết đẹp trai, xinh gái rồi)

Hay lai dát

Style superman (Code không ai hiểu, đôi khi mình đọc cũng méo hiểu ai code)

PSR-1: Basic Coding Standard (Chuẩn 1)

  • Các files PHẢI sử dụng các thẻ <?php và <?=
  • Các files PHẢI sử dụng UTF-8 không có BOM (Byte Order Mark) cho code PHP
  • Các files NÊN chứa các khai báo (Class, function, constants,...) hoặc cause side-effects (generate output, thay đổi cài đặt .ini,...) mà KHÔNG NÊN chứa cả hai
  • Các namespaces và classes PHẢI tuân theo chuẩn "autoloading" PSR: [PSR-0, PSR-4]
  • Các tên lớp PHẢI được viết hoa các chữ cái đầu tiên của các từ (PascalCase)
  • Các hằng số PHẢI được viết hoa tất cả các chữ cái và giữa các từ cách nhau bởi dấu gạch dưới (_)
  • Tên các phương thức PHẢI viết thường chữ cái đầu tiên của từ đầu tiên và viết hoa chữ cái đầu tiên của các từ tiếp theo (camelCase)

Ghi chú: Cụm từ "side-effects" có nghĩa là thực thi logic mà không liên quan trực tiếp đến lớp, hàm, hằng,... hay chỉ đơn giản là include 1 file khác vào file hiện tại.

Bài viết này chỉ khái quát giúp bạn đọc biết sơ qua về Chuẩn code PSR-1. Để biết thêm chi tiết mời các bạn tham khảo link sau: https://www.php-fig.org/psr/psr-1 (Nội dung của bài cũng có tham khảo link này)

Hẹn gặp lại các bạn ở các phần tiếp theo

Have a nice day!!!

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.