© 2025 Sun* Inc. All rights reserved.

Giới thiệuChính sáchBáo lỗi

📘 Coding Standards & Rule System

Chào mừng đến với hệ thống Coding Standards! Đây là nơi tập hợp các quy tắc chất lượng mã nguồn được thiết kế để đảm bảo tính nhất quán, maintainability, testability và hiệu suất cho tất cả các dự án phần mềm trong tổ chức.

Mục tiêu
Những mục tiêu chính của hệ thống Coding Standards
  • Chuẩn hoá cách viết mã, đặt tên, tổ chức logic
  • Giảm bug ẩn, lỗi nghiệp vụ khó phát hiện
  • Tăng tốc độ review, onboarding và phát triển
  • Hướng đến tự động hoá đánh giá source code qua CI
Cấu trúc Rule
Mỗi Rule được viết ở định dạng .md, theo template chuẩn
Mục tiêu
Lý do tồn tại của Rule
Chi tiết
Mô tả cụ thể logic cần tuân thủ
Áp dụng
Các ngôn ngữ hoặc nền tảng áp dụng
Công cụ
Tool hỗ trợ kiểm tra tự động (nếu có)
Nguyên tắc
Principles liên quan như Clean Code
Mức độ
critical, major, minor, low
Ví dụ đúng/sai
Code minh họa bằng nhiều ngôn ngữ
Config
ESLint / SonarQube / PMD / Detekt

✨Tất cả Rule đều có thể được render thành trang web tĩnh qua GitHub Pages.

Danh mục Rule
Các danh mục Rule chính trong hệ thống
  • common.md
    Các Rule áp dụng cho mọi ngôn ngữ
    Xem
  • java.md
    Rule đặc thù cho Java
    Xem
  • typescript.md
    Rule cho TypeScript/JavaScript
    Xem
  • kotlin.md
    Rule áp dụng trong Android/Mobile
    Xem
  • index.md
    Danh sách tổng hợp và phân loại theo mức độ
    Xem
Đóng góp Rule mới
Cách thức đóng góp Rule mới vào hệ thống

Để đề xuất Rule mới, bạn có thể tạo New Issue với template có sẵn hoặc mở PR với nội dung theo format chuẩn.

📥 Propose New Rule
Tích hợp CI/CD
Cách tích hợp tự động kiểm tra Rule vào pipeline

Bạn có thể tích hợp tự động kiểm tra Rule vào pipeline bằng cách sử dụng:

  • ESLint
    ESLint config có sẵn
  • SonarQube
    SonarQube rule mapping
  • Custom
    Custom script (Makefile, bash, node check-rules.js, ...)

Chúng tôi khuyến khích kiểm tra Rule trong GitHub Action hoặc trước khi merge PR.

Mức độ nghiêm trọng (Severity)
Các mức độ nghiêm trọng của Rule
Mức độÝ nghĩa chính
critical
Vi phạm nghiêm trọng, gây lỗi hệ thống hoặc bảo mật
major
Gây bug nghiệp vụ hoặc khó maintain
minor
Ảnh hưởng đến readability, dễ gây hiểu nhầm
low
Vi phạm nhẹ, chủ yếu ảnh hưởng style
Nguyên tắc chính
Các nguyên tắc nền tảng của hệ thống Rule

Clean Code

Mã nguồn dễ đọc, dễ hiểu và dễ bảo trì

SOLID Principles

Các nguyên tắc thiết kế hướng đối tượng

KISS & DRY

Đơn giản hóa và tránh lặp lại mã nguồn

Readability > Cleverness

Ưu tiên khả năng đọc hiểu hơn sự phức tạp

Fail Fast & Safe by Default

Phát hiện lỗi sớm và an toàn mặc định

Tối ưu hiệu suất

Không đánh đổi tính đúng đắn

Liên hệ / Góp ý
Cách thức liên hệ và đóng góp ý kiến

Mọi góp ý, phản hồi, hoặc đề xuất thêm Rule mới đều được hoan nghênh qua:

  • GitHub
    Pull Request
  • Discussions
    GitHub Discussions
  • Chat
    Gửi trực tiếp qua Slack/Chat nhóm #coding-standards

Phiên bản hiện tại:

v1.0

Tập trung các Rule nền tảng và dễ kiểm tra bằng công cụ

Thank you for contributing to better code!