Bộ tiêu chuẩn ICON Coding conventions – Lập Trình & Quản Lý Chất Lượng Phần Mềm trong Hệ sinh thái ICON
ICON CODING CONVENTIONS
Bộ Tiêu Chuẩn Lập Trình & Quản Lý Chất Lượng Phần Mềm
(Áp dụng tại Icon Innotech)
I. TỔNG QUAN
1. MỤC TIÊU
ICON Coding Conventions được xây dựng nhằm:
Chuẩn hóa toàn bộ hoạt động lập trình trong công ty
Đảm bảo mã nguồn dễ đọc – dễ bảo trì – dễ mở rộng
Giảm technical debt
Tăng tính minh bạch khi bàn giao
Đảm bảo chất lượng theo chuẩn quốc tế
Giúp AI tools (Cursor, Copilot…) sinh code đúng chuẩn ngay từ đầu
ICON không chỉ viết code chạy được – chúng tôi xây dựng hệ thống có thể vận hành bền vững trong nhiều năm.
2. DANH SÁCH CHUẨN ĐƯỢC ÁP DỤNG
ICON áp dụng các tiêu chuẩn quốc tế sau:
Airbnb JavaScript Style Guide – Cho JavaScript / React
Prettier – Chuẩn format tự động
ESLint – Kiểm tra lỗi & style
PSR-12 – Cho PHP
PEP 8 – Cho Python
Google Java Style Guide – Cho Java
OWASP Top 10 – Cho bảo mật ứng dụng
Agile/Scrum – Cho quản lý dự án
Tùy theo công nghệ dự án, ICON áp dụng bộ chuẩn tương ứng và tích hợp vào CI/CD để tự động kiểm soát.
II. NỘI DUNG CÁC CHUẨN TRONG HỆ THỐNG
1. AIRBNB JAVASCRIPT STYLE GUIDE
1. Giới thiệu chuẩn
Airbnb JavaScript Style Guide là một trong những bộ chuẩn JavaScript phổ biến nhất thế giới. Chuẩn này được cộng đồng React và NodeJS sử dụng rộng rãi nhờ tính rõ ràng, dễ đọc và tối ưu cho dự án lớn. ICON áp dụng chuẩn này cho toàn bộ dự án frontend và backend sử dụng JavaScript/TypeScript.
2. Nguyên tắc cốt lõi
Code phải dễ đọc hơn là ngắn
Ưu tiên immutable data
Tránh side-effect
Không viết logic phức tạp trong component
3. Quy tắc
Không dùng
varBắt buộc dùng
===Không nested callback sâu
Không function dài quá 40 dòng
Không lặp code
4. Cấu trúc dự án
src/
components/
services/
hooks/
utils/
pages/
Không đặt business logic trong UI component.
5. Format Code
2 spaces indent
Dòng tối đa 100–120 ký tự
Dùng arrow function cho function ngắn
6. Comment & Documentation
Không comment hiển nhiên
Public API phải có JSDoc
7. Git Rules
feature/
bugfix/
hotfix/
Conventional commit message
8. Code Review
Kiểm tra complexity
Kiểm tra duplicate
Kiểm tra performance render
9. Security Standard
Sanitize input
Không expose API key
Không lưu token trong localStorage nếu không cần
10. Theo ngôn ngữ
JS → Airbnb
TS → Airbnb + Type strict mode
11. KPI chất lượng
ESLint error = 0
Test coverage ≥ 70%
Không tồn tại High severity issue