Nguyên lý
-
-:
- Cái trừu tượng không nên phụ thuộc vào những cái cụ thể mà những cái cụ thể nên phụ thuộc vào cái trừu tượng
- Bộ nguyên lý SOLID giúp phần mềm dễ bảo trì, dễ mở rộng
- Mẫu thiết kế (design pattern) là những giải pháp cho những vấn đề thường gặp trong lập trình mà nhiều thế hệ lập trình viên đã đúc kết và chứng minh tính hiệu quả của nó
- Quy trình viết tài liệu
- Người mới lập trình thường hỏi nên dùng cú pháp, thư viện, hay ngôn ngữ nào. Lập trình viên nhiều kinh nghiệm thường tập trung vào các khái niệm trừu tượng
- Singleton hay được dùng trong các trình quản lý plugin
- while familiarity is a perfectly fine reason, it is really a bad sign if it is the only reason
- Đường cú pháp là những loại cú pháp giúp việc đọc dễ dàng hơn. Muối cú pháp là những loại cú pháp giúp việc viết sai trở nên khó khăn hơn
-
Cấu trúc dữ liệu:
-
Đánh giá chất lượng:
- Cyclomatic complexity đánh giá độ phức tạp khi viết kiểm thử. Cognitive complexity đánh giá độ phức tạp trong việc đọc
- Có những đoạn code có cùng cyclomatic complexity nhưng lại khác cognitive complexity
- Các lý do làm tăng cyclomatic complexity
- Mỗi đường cơ sở trong biểu đồ dòng tương ứng với một testcase
- Thay vì dùng số nút và cạnh để tính độ phức tạp chu trình, hãy đếm số miền bị chia ra
-
Đặt tên biến, viết comment:
- Block comment dành cho việc giải thích ý tưởng của code, viết doc. Line comment để debug hoặc hướng dẫn editor đọc code của mình (directive)
- Bản thân việc lập trình bằng ngôn ngữ bậc cao đã là một dạng comment
- Comment cũng có bug, nhưng không giống như code, không có chương trình nào hỗ trợ debug được nó
- Comment có thể cho thông tin sai, nhưng code thì không
- Hãy viết code sao cho mình khỏi comment
- Quy ước đặt tên biến
- Nên dùng comment để giải thích về thuật toán, các đánh đổi trong việc ra quyết định hoặc dẫn nguồn
- Việc đặt tên không có tiền tố gì sẽ tiện khi nó thường được dùng thường xuyên ở những nơi khác, ở trong một danh sách, hoặc khi dùng để liệt kê các thuộc tính
- Đặt tên biến, viết comment
- Thay vì comment, hãy document. Thay vì giải thích cách code hoạt động, hãy hướng dẫn cách sử dụng nó
-
Đơn nhiệm:
-
Giao diện, giao thức:
-
Thành phần chương trình: