01/10/2018, 15:31

Bài 17: PHP – Viết Code Đúng Chuẩn

Mổi công ty theo những chuẩn khác nhau dựa vào kinh nghiệm tốt nhất của họ. Viết code đúng chuẩn được yêu cầu bởi vì có thể có nhiều developer làm việc trong những module khác nhau, vì thế nếu họ bắt đầu phát minh ra các chuẩn của riêng họ thì làm cho source code (mã nguồn) trở nên rất khó quản lý ...

Mổi công ty theo những chuẩn khác nhau dựa vào kinh nghiệm tốt nhất của họ. Viết code đúng chuẩn được yêu cầu bởi vì có thể có nhiều developer làm việc trong những module khác nhau, vì thế nếu họ bắt đầu phát minh ra các chuẩn của riêng họ thì làm cho source code (mã nguồn) trở nên rất khó quản lý và nó sẽ trở nên khó bảo trì source code đó trong tương lai.
Có một vài lý do tại sao sử dụng kỹ thuật viết code:

• Developer ngang hàng với bạn phải hiểu được code của bạn viết. Một chuẩn code sẽ đóng vai trò như một kế hoạch chi tiết cho toàn team hiểu và giải mã code.
• Đơn giản và rõ ràng bằng việc code phù hợp sẽ giúp bạn tiết kiệm được từ những lổi phổ biến.
• Nếu bạn muốn sữa code của bạn sau một khoảng thời gian thì nó trở nên dể dàng để hiểu code đó.
• Tuân theo một tiêu chuẩn đặc biệt để đạt được chất lượng của phần mềm.

Trong PHP có một vài hướng dẩn mà có thể sử dụng trong quá trình code PHP

Indenting and Line Length(thụt đầu dòng và chiều dài hàng) – Sử dụng 4 khoảng trắng thụt đầu dòng và không sử dụng bất kỳ tab bởi vì các máy tính khác nhau sử dụng cài đặt tab khác nhau.

Bạn tab trên window thì sang Mac, hoặc Linux có thể nó hiễn thị tab đó khác, có thể gây xáo trộn và code bạn trông không còn thẳng hàng đẹp nữa. Một dòng code thì nên có khoảng 75-85 ký tự, đây là chuẩn tốt nhất giúp dể đọc, cũng phù hợp cho nhiều loại màn hình, tránh phải kéo thanh cuộn mới đọc hết dòng code.

Control Structures (các cấu trúc điều khiển)
Bao gồm : if, for, while, switch v.v… Các phát biểu này nên có một khoảng trắng giữa keyword và dấu ngoặc đơn mở , để phân biệt chúng khi gọi hàm. Một yêu cầu cho bạn là luôn sử dụng dấu ngoặc móc { (ngoặc nhọn), thậm chí trong tình huống chỉ có một câu lệnh trong cấu trúc điều khiển. Như bạn đã biết, trong if, else nếu chỉ có một câu lệnh, một phát biếu có thể là phép gán thì có quyền không mở và đóng {}, tuy nhiên bạn nên sử dụng.

EX:
if ((condition1) || (codietion2)) {
    action1;
}elseif ((condition3) && (condition4)) {
    action2;
}else {
    default action;
}

// như bạn có thể thấy sau if là một khoảng trắng rồi tới 2 dấu ngoặc đơn, bạn có thể viết dính sát vào if vẩn không sao, nhưng không đúng chuẩn code mà ta vừa đề cập trên.
// bên trong mổi phát biểu điều kiện chỉ có một lệnh action1, action2 thì ta có quyền không mở và đóng {}, tuy nhiên bạn nên sử dụng, có thể bạn quên hoặc lúc sau bạn quay trở lại sữa tiếp và viết thêm 1 câu lệnh nữa thì chương trình của bạn sẽ bị báo lổi hoặc tai hại hơn là phát biểu điều kiện chỉ có ảnh hưởng cho 1 câu lệnh đầu tiên sau nó, và gây ra lổi tiềm ẩn.
// các lệnh action1 cách đầu dòng là 4 khoảng trắng, câu lệnh con thì sẽ nằm sâu hơn câu lệnh cha, và chuẩn là 4 khoảng trắng, không chơi tab nha bạn.

Bạn cũng có thể viết phát biểu switch như sau:
switch (condition) {
    case 1:
        action1;
        break;

    case 2:
        action2;
        break;

    default:
        defaultaction;
        break;
}

Function Calls (gọi hàm).
     Các hàm nên được gọi mà không có khoảng trắng giữa tên hàm, dấu ngoặc đơn mở và đối số đầu tiên.
     Khoảng trắng giữa dấu “,” và mổi đối số và không khoảng trắng cho đối số cuối cùng , dấu ngoặc đơn đóng, và dấu chấm phẩy “;”.

EX: $var = sum($arg1, $arg2, $last_arg);

Function Definitions (Định nghĩa hàm)
     Khai báo hàm theo chuẩn “BSD/Allman”. Sử dụng dấu ngoạc móc mở ở dòng mới sau tên hàm, tuy nhiên do ảnh hưởng của một số kinh nghiệm, hoặc đến từ các chuẩn khác, các tài liệu của các mã nguồn mà lập trình viên đa số viết mở ngoặc móc ngay sau tên hàm, cùng một dòng với tên hàm.

EX: chuẩn BSD/Allman.
Function summaryFunction($arg1, $arg2 = ‘’)
{
    if (condition)
    {
        statement;
    }
    return $val;
}
// Đây là chuẩn mà nếu các bạn đã từng học qua pascal sẽ thấy ngôn ngữ pascal viết theo chuẩn này.

Comments: về comment thì theo chuẩn của C (/* */) và của C++ (//), cả 2 loại này đều đẹp. Của Pert là (#). Sử dụng kểu comment của Pert thì không hay, vì nó đụng với một số ngôn ngữ , họ sử dụng dấu # làm cả keyword. Trong MySQL có sử dụng dấu # này làm comment, trong apache v.v…

PHP Code Tags: Các bạn luôn sử dụng <?php ?>  để phân định mã PHP luôn luôn được đọc đúng. Không sử dụng dạng tắt <? ?>, vì sẽ chạy sai nếu code php được đưa vào hệ thống khác với cài đặt khác. Nếu các bạn đã đọc qua bài học về cú pháp PHP ( bài 2 ) thì các bạn sẽ hiểu, vì muốn sử dụng dạng tắt thì phải cấu hình trong tập tin php.ini, nếu code của bạn chạy trên hệ thống khác mà chưa được cấu hình đúng thì nó chạy sai rồi.

Variable Names (tên biến)
    – Sử dụng tất cả chữ thường.
    – Sử dụng dấu ‘_’ để phân biệt các từ.
    – Biến toàn cục (global) nên thêm vào trước chữ ‘g’.
    – Biến static có thể thềm vào trước ‘s’.

Các block khai báo nên thẳng hàng.

Một phát biểu trên một dòng, trừ khi các phát biểu liên quan chặt chẻ. Như nhiều liên kết điều kiện and, || nhiều thì có thể viết trên nhiều dòng…

Các phương thức và các hàm nên giới hạng code trong một trang.

Có thể là có nhiều hơn các điểm khác cần được xem xét trong quá trình viết code chương trình PHP. Trên tất cả chúng ta theo chuẩn code để đạt được những lời ích như vừa phân tích. Bạn có thể phân chia chuẩn của riêng bạn nếu bạn thích cái j đó khác.

Rồi bài kế tiếp chúng ta sẽ học Hướng Đối Tượng (OOP) trong PHP, do vậy sẽ viết nhiều về method, function, variable. Do vậy bài học này là bước đệm để giúp các bạn tiến xa và trở thành lập trình viên chuyên nghiệp.

0