Nguyên lý
-
-:
- Bộ nguyên lý SOLID giúp phần mềm dễ bảo trì, dễ mở rộng
- 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
- 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
- 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
- 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
-
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ác lý do làm tăng cyclomatic complexity
- Có những đoạn code có cùng cyclomatic complexity nhưng lại khác cognitive 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ó thể cho thông tin sai, nhưng code thì không
- 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ó
- Hãy viết code sao cho mình khỏi comment
- Quy ước đặt tên biế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ê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
-
Đơn nhiệm:
-
Giao diện, giao thức:
-
Thành phần chương trình: