Đó là câu nói của thầy dạy nhạc vài năm trước, khi kiểm điểm lại thái độ làm việc của cả đội Nghi Lễ. Lớn dần, chuyển sang một công việc phải làm việc tập thể thì câu nói ấy vẫn đúng. Mình viết không phải để cho mình đọc, mà để cho đồng nghiệp của mình.
Coding Convention
Coding convention, coding standard, coding guideline,… mấy thứ này cùng nói về một bộ quy tắc chung, được đúc kết trong quá trình làm việc để mọi người tuân thủ nhằm nâng cao chất lượng code.
Vấn đề này, các bạn có thể tìm hiểu định nghĩa ở trên Google, mình chỉ tổng hợp lại một số nguồn để tham khảo quy tắc trong quá trình phát triển phần mềm.
Nếu lười thì bạn có thể xem tại đây: Why Coding Standards Matter.
Một số vấn đề
All code in any code-base should look like a single person typed it, no matter how many people contributed.
Về Design
- UX Pin, Creating a Design System: The Step-by-Step Guide
- Invision App, A comprehensive guide to design systems
- Brad Frost, Atomic Design
Về Front-End
- HTML, CSS: http://codeguide.co/
- JavaScript
- Standard JS, JavaScript Standard Style.
- Airbnb, JavaScript Style Guide
- Google, Google JavaScript Style Guide
- React
- CSS Tricks, React Code Style Guide
- React Patterns, React Patterns
- Vue
- Vue.js, Style Guide
- Pablo Henrique, Vue.js Component Style Guide
Về REST API
- Atlassian, Atlassian REST API design guidelines version 1
- Microsoft Azure, API Design
- IBM, REST API conventions
- Stoney Cloud, Category:REST API
- Zalando, Zalando RESTful API and Event Scheme Guidelines
- REST API Tutorial, REST API Tutorial
Về Microservices
- Martin Fowler, Microservices Resource Guide
- Chris Richardson, Microservice Architecture
- Microsoft Azure, Microservices architecture style
Về Git
- Microsoft Azure, Adopt a Git branching strategy
- Conventional Commits, Conventional Commits
- Karma, Git Commit Msg
- Git Branching, Git/GitHub branching standards & conventions
Về bảo mật
Thực tế khi áp dụng
Về coding, mình sử dụng Pretter tích hợp với Visual Studio Code để format lại code nên không quan trọng lắm guideline về cú pháp. Còn lại phải đọc tài liệu để cải thiện kỹ năng. Ngoài ra, bạn có thể sử dụng các công cụ Linter để kiểm tra code trước khi đẩy lên source control. ESLint là một ví dụ.
Về Git, mình dùng Commitizen để tự động nhắc nhở mình phải viết Git Message sao cho chuẩn. Nó cũng có extension tích hợp vào VSCode.
Nên đọc sách gì
Guideline chỉ là quy tắc của một tổ chức để thống nhất với nhau, không nên quá đặt nặng. Có ý thức là được rồi. Tổng quát thì các bạn có thể tham khảo thêm 2 cuốn này để nắm tinh hoa của nó.
- Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship
- Martin Fowler, Refactoring: Improving the Design of Existing Code