Kỹ thuật xử 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
- 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
- Quy trình viết tài liệu
- 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
-
Bắt lỗi:
- Bắt lỗi
- Debugger
- Dùng logpoint thay cho console.log() khi debug
- Không cần viết hàm quản lý debug khi đã có logpoint
- Launch vs attach
- Dùng test khi muốn biết code chạy có đúng không. Dùng debug khi muốn biết code chạy sai chỗ nào
- Dễ xem kết quả các giá trị trong console debug hơn là ở Variables
- console.log chỉ hiển thị nội dung tại thời điểm vật thể được xem, chứ không phải vào lúc lệnh được thực thi
- Cấp độ log DEBUG hoặc TRACE hiển thị ở console.log trên môi trường local, WARN hoặc INFO ở các công cụ quản lí log, FATAL hoặc ERROR đến một kênh mà dev có thể nhận ra và xử lí kịp thời
- defaultTextFormatter và ansiColorFormatter không dành cho console
- Log
- Ngoài console.log còn nhiều loại log khác
- Lý do thấy test trước bất tiện
- Test trong VS Code
- Tổng quan về kiểm thử phần mềm
- Unit test
-
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:
- 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ó
- Comment khối dành cho việc giải thích ý tưởng của code, viết doc. Comment dòng để debug hoặc hướng dẫn editor đọc code của mình (directive)
- Hãy viết code sao cho mình khỏi comment
- 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
- Quy ước đặt tên biến
- 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ó
- 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
-
Đơn nhiệm:
- Mỗi lớp, hàm, mô đun chỉ đảm nhiệm một nhiệm vụ xác định
- Nguyên lý DRY chỉ nói về không lặp nguồn kiến thức, chứ không nói về việc lặp code. Việc cố gắng tránh lặp code có khi làm code khó đọc, và cũng không chắc đem đi xài chỗ khác được
- Sự couple dễ được sinh ra khi muốn xử lý các dữ liệu giống nhau về chức năng và na ná nhau về cấu trúc và cách xử lý
- Tránh dùng hàm lồng để làm giảm sự couple
- Việc chia các lệnh trong kịch bản thành các hàm nhỏ hơn sẽ giúp dễ bắt lỗi hơn
-
Giao diện, giao thức:
-
Mẫu thiết kế:
-
Thành phần chương trình: