Chương trình nên thực hiện như một dòng chảy từ trên xuống dưới.. Không nên sử dụng goto hay continue để đi đến những đoạn chương trình có thể thay thế bằng cách sử dụng hàm... Mỗi
Trang 1NGUYÊN TẮC
LẬP TRÌNH
Trang 3A Trình bày tổng thể chương trình
1 Môdun hóa chương trình
2 Trình bày nhất quán
3 Trình bày đơn giản, dễ hiểu
4 Mã lệnh thể hiện đúng cấu trúc CT
5 Thực hiện từ trên xuống dưới.
Trang 41 Modun hóa chương trình
ham 2() {
……
…… }
hamn () Void main() {
ham1(); ham2();
}
Trang 52 Trình bày nhất quán
Trang 63 Trình bày đơn giản, dễ hiểu
if (result == false) ?
Trang 74 Mã lệnh thể hiện đúng cấu trúc CT
Dòng lệnh:
if (count == 0) printf(``No data.\n'');
nên được viết là:
Trang 85 Thực hiện từ trên xuống dưới
Chương trình nên thực hiện như một dòng chảy từ trên xuống dưới Không nên có những thay đổi bất chợt.
Không nên sử dụng goto hay continue
để đi đến những đoạn chương trình (có thể thay thế bằng cách sử dụng hàm)
Trang 96 Mỗi câu lệnh đặt riêng trên một dòng
Nếu bạn viết:
while (i < 100) i++;
bạn sẽ không biết
được vòng lặp trên
được thực hiện bao
nhiêu lần khi debug
Trang 107 Các dấu {} phải canh thẳng hàng.
………
……
}
Trang 11B Khai báo biến và hàm
1 Biến khai báo gần vị trí được sử dụng
2 Mỗi biến nên khai báo trên một hàng
3 Tên biến nên đặt cho đủ nghĩa
4 Tên hàm phản ánh công việc hoặc giá
Trang 121 Biến khai báo gần vị trí được sử dụng
Tránh được việc khai báo một loạt các
biến dư thừa ở đầu hàm hay chương
trình.
Trang 132 Mỗi biến nên khai báo trên một hàng
=> dễ chú thích về ý nghĩa của mỗi biến.
Ví dụ:
int level = 0; // indentation level int size = 0; // size of symbol table int lines = 0; // lines read from input
Trang 143 Tên biến nên đặt cho đủ nghĩa,
Có thể là là các từ hoàn chỉnh hoặc viết tắt nhưng phải dễ đọc (dễ phát âm)
Trang 154 Tên hàm phản ánh công việc hoặc giá trị trả về
Trang 16BIGINT hay BigInt
Tên các hàm được viết hoa chữ cái đầu từ, có thể bắt đầu từ từ thứ nhất hay thứ hai, ví dụ: DisplayInfo()
hoặc displayInfo()
Trang 176 Không dùng hằng số trực tiếp
Sử dụng lệnh #define hay const để đặt cho
những hằng số => giúp lập trình viên dễ kiểm soát những chương trình lớn vì giá trị của
hằng số khi cần thay đổi
Ví dụ:
popChange = (0.1758 - 0.1257) * population;
nên được viết là:
const double BIRTH_RATE = 0.1758, DEATH_RATE = 0.1257;
popChange = (BIRTHRATE - DEATH_RATE) * population;
Trang 187 Dấu con trỏ nên được đặt liền với tên
Ví dụ:
char* p, q, r; // ß q, r không là con trỏ
Trong trường hợp này nên viết là:
char *p, *q, *r;
Luật này cũng được dùng khi khai báo tham chiếu với dấu &
Trang 19C Trình bày dòng lệnh:
1 Không nên sử dụng lại biến với nhiều
nghĩa khác nhau trong cùng một hàm.
2 Dùng khoảng trắng hợp lý
3 Sử dụng dấu ( ) tránh lỗi ưu tiên toán tử.
4 Phân chia chương trình thành nhiều đoạn
5 Dòng lệnh không nên quá dài
Trang 201 Không nên sử dụng lại biến với nhiều nghĩa khác nhau trong cùng một hàm
Ví dụ:
Không nên sử dụng biến như sau:
for (i = 0; i < n; i++) // n mang ý nghĩa là số lần lặp
for (i = 0; i < 10; i++)
for (n = 0; n < 10; n++) //n sử dụng như biến điều khiển lặp
Trang 22
Ví dụ:
if (strcmp(input_value,
"done") == 0) return 0;
Không có khoảng trắng giữa hàm stccmp và dấu (
Trang 233 Sử dụng dấu ( ) tránh lỗi ưu tiên toán tử.
Trang 244 Phân chia chương trình thành nhiều đoạn
Nên dùng các dòng trắng để phân chia các hàm trong
một tập tin, các đoạn lệnh trong một hàm như: đoạn
nhập xuất dữ liệu, các đoạn tương ứng với các bước
Trang 25 Mỗi dòng lệnh không nên dài quá 80 ký tự, điều này giúp việc đọc chương trình dễ dàng hơn khi không phải thực hiện các thao tác cuộn ngang mang hình.
5 Dòng lệnh không nên quá dài
Trang 271 Sử dụng dấu //
Khi đặt các chú thích, bạn nên sử dụng dấu // vì dấu này sẽ không có ảnh hưởng khi bạn sử dụng cặp ký hiệu /* */ để vô hiệu hóa một đoạn lệnh trong quá trình sửa lỗi chương trình
Trong C/C++ không cho phép các cặp dấu /* */ lồng nhau
Trang 304 Không nên lạm dụng chú thích
Ví dụ:
i++; // tăng i lên 1 đơn vị
Trang 31hoàn chỉnh các đoạn code.
Nộp vào mục Bài tập về nhà trên trang lms,
2 người làm chung 1 bài.