Em hỏi câu này không liên quan tới khóa học lắm nhưng mong anh em nào có kinh nghiệm chỉ mình :’(
em có 4 vđề sau :
cách sử dụng và đặt tên biến,tên hàm : em muốn hỏi làm sao để sử dụng biến cục bộ và biến toàn cục cho hợp lý và cách đặt tên biến chuẩn để tránh nhầm lẫn giữa các key, và cách đặt tên hàm sao cho hiệu quả đủ để mình hiểu hàm đó làm cái gì mà không quá dài dòng
cách comment vào code : làm sao để comment đúng chỗ và comment vừa đủ. Em bị mắc cái bệnh là comment quá nhiều đến lúc nhìn vào code thì hay bị lẫn và nhìn rất rối.
cách trình bày code : làm sao để cho code nó sáng nhất ạ. Sắp xếp các hàm như thế nào là hợp lý ạ.trong một hàm cách dòng ra sao để nó hợp lý ạ tab ra tab vào mà code sát nhau cứ rối rối sao ý ạ :’(
tách hàm riêng : cho em hỏi khi nào thì cần tách hàm riêng ạ. Đôi khi em phân vân là nên tách ra hàm riêng hay để trong cùng một hàm ví dụ như em có một hàm kiểm tra(code dài) và một hàm in em nên gộp vào hay là viết thành 2 hàm riêng ạ hàm kiểm tra cũng chỉ gọi trong hàm in mà không gọi ở đâu nữa ạ
cách sử dụng và đặt tên biến,tên hàm : em muốn hỏi làm sao để sử dụng biến cục bộ và biến toàn cục cho hợp lý và cách đặt tên biến chuẩn để tránh nhầm lẫn giữa các key, và cách đặt tên hàm sao cho hiệu quả đủ để mình hiểu hàm đó làm cái gì mà không quá dài dòng
Tên hàm Đạt recommend viết như sau
void ThucHienCongViecX(int cu_ti);
Tên biến Đạt recommend viết như sau
int cu_teo;
em muốn hỏi làm sao để sử dụng biến cục bộ và biến toàn cục cho hợp lý
Không nên dùng biến toàn cục, nếu có dùng biến toàn cục thì nên là hằng số.
const int BIEN_TOAN_CUC;
Google recommends thêm chữ k ở phía trước, sau đó viết hoa chữ đầu mỗi từ.
const int kDaysInAWeek = 7;
Đạt thì thích thêm chữ g ở phía trước để cho biết đây là biến global
int g_BienToanCuc;
int gBienToanCuc;
và cách đặt tên hàm sao cho hiệu quả đủ để mình hiểu hàm đó làm cái gì mà không quá dài dòng
Tên hàm là động từ
int doSomething()
Tên biến là danh từ
float banh_beo;
Một số trường hoặc biệt
i) Tên hàm luận lý, thêm chữ is ở phía trước
bool isRunning(); // Kiểm tra thread có chạy hay không
bool isChecked(); // kiểm tra radio box có check hay không
ii) Hàm lấy hoặc tính toán trả về một giá trị, thêm get hoặc cal
char getLastChar();
double calTax();
iii) tên biến tính tổng thêm sum ở trước, biến là số đếm, thêm count ở trước
int sumInteger;
int countPositives;
2. cách comment vào code : làm sao để comment đúng chỗ và comment vừa đủ. Em bị mắc cái bệnh là comment quá nhiều đến lúc nhìn vào code thì hay bị lẫn và nhìn rất rối.
Suy nghĩ để làm sao khi viết code, người khác chỉ cần đọc code là hiểu được lý do tại sao code như thế. Dĩ nhiên sẽ không có chuyện không cần comment. Vậy khi comment ta tránh lặp lại những điều cơ bản.
i) Comment không cần thiết, lặp lại
// gán banh_tieu bằng 3
int banh_tieu = 3;
// lặp từ 0 tới 3
for (int i = 0; i < banh_tieu; ++i)
ii) không cần comment, hãy làm cho code dễ hiểu hơn.
// Gán số phần tử bằng 10
int x = 10;
Thì sửa lại như sau để không cần phải comments
const int MAX_ELEMENT = 10;
int totalElement = MAX_ELEMENT
iii) Khi nào comment?
Khi code quá khó hiểu, không thể diễn tả dễ hiểu hơn.
iv) Comment trên đầu mỗi dòng code, không comment cùng dòng code
// comment ở đây
int cafe_sua_da; // không comment ở đây,
// vì khi sửa đổi biến `cafe_sua_da` sẽ làm ảnh hưởng tới dòng comment này
3. cách trình bày code : làm sao để cho code nó sáng nhất ạ. Sắp xếp các hàm như thế nào là hợp lý ạ.trong một hàm cách dòng ra sao để nó hợp lý ạ tab ra tab vào mà code sát nhau cứ rối rối sao ý ạ :’(
làm sao để cho code nó sáng nhất ạ
Em chỉnh màu nền màu trắng, chỉnh độ sáng màn hình lên mức cao nhất.
Sắp xếp các hàm như thế nào là hợp lý ạ
Không quan trọng.
trong một hàm cách dòng ra sao để nó hợp lý ạ tab ra tab vào mà code sát nhau cứ rối rối sao ý ạ :’(
Không quan trọng, mỗi project có một quy luật riêng. Mình theo người khác code ở trước, nếu là project của mình thì chỉnh thế nào cho thuận mắt là được.
tách hàm riêng : cho em hỏi khi nào thì cần tách hàm riêng ạ. Đôi khi em phân vân là nên tách ra hàm riêng hay để trong cùng một hàm ví dụ như em có một hàm kiểm tra(code dài) và một hàm in em nên gộp vào hay là viết thành 2 hàm riêng ạ hàm kiểm tra cũng chỉ gọi trong hàm in mà không gọi ở đâu nữa ạ
cho em hỏi khi nào thì cần tách hàm riêng ạ
Khi hàm đó làm nhiều hơn một việc hoặc khi ta có thể tách hàm hiện tại thành hai hoặc nhiều hàm nhỏ hơn mà các hàm nhỏ này làm đúng một việc riêng.
Đôi khi em phân vân là nên tách ra hàm riêng hay để trong cùng một hàm ví dụ như em có một hàm kiểm tra(code dài) và một hàm in em nên gộp vào hay là viết thành 2 hàm riêng ạ hàm kiểm tra cũng chỉ gọi trong hàm in mà không gọi ở đâu nữa ạ
Luật đơn giản khi tách hàm:
i) có thể tách, tách ngay
ii) tách làm rõ nội dung hơn, tách ngay
iii) một hàm làm nhiều hơn một việc
iv) hàm dài hơn 25 dòng
Anh nói bạn xem thử cái style guide của lớp cs106b này xem, cái này em thấy khá đầy đủ. http://web.stanford.edu/class/cs106b/styleguide.shtml
Tên hàm thì đặt theo anh em thấy ổn rồi, biến thì có thể tham khảo theo cuốn code complete.