30/09/2018, 23:05
Khóa học C++ cơ bản trên Udemy: Tư vấn code sạch đẹp
Bạn Hưng trên Udemy hỏi câu hỏi sau
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 ạ
Bài liên quan
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
Tên biến Đạt recommend viết như sau
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ố.
Google recommends thêm chữ
k
ở phía trước, sau đó viết hoa chữ đầu mỗi từ.Đạt thì thích thêm chữ g ở phía trước để cho biết đây là biến global
Tên hàm là động từ
Tên biến là danh từ
Một số trường hoặc biệt
i) Tên hàm luận lý, thêm chữ
is
ở phía trướcii) Hàm lấy hoặc tính toán trả về một giá trị, thêm
get
hoặccal
iii) tên biến tính tổng thêm sum ở trước, biến là số đếm, thêm count ở trước
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
ii) không cần comment, hãy làm cho code dễ hiểu hơn.
Thì sửa lại như sau để không cần phải comments
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
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 ý ạ :’(
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.
Không quan trọng.
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 ạ
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.
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
Quảng cáo
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.
Ngoài ra, unreal engine cũng có một cái hướng dẫn đặt tên cho C++ dùng trong engine đó, nếu ai muốn thì cũng có thể xem qua cho biết.
https://docs.unrealengine.com/latest/INT/Programming/Introduction/index.html
Great, anh thích code chính xác thế này, không khai báo nhiều biến trên một dòng. Trong videos khóa học có nói tới cái này.
Nhưng ví dụ ở đây rõ ràng hơn.
Cảm ơn @iamz rất nhiều về cái nguồn
Những thông tin khác cũng hữu ích. Anh sẽ quay một videos lấy link này làm gốc.
Link 2 về unreal engine thì anh nghĩ là phù hợp với project đó hơn.
thanks a. Em tìm hiểu mãi cái này chắc thuộc về kinh nghiệm chứ em thấy ở trường thầy cô không nói về phần này mặc dù em thấy nó cũng quan trọng :’(
Hay … tuyệt vời
:))))))))