Đánh giá mức độ trưởng thành của kiến trúc component-led trong dự án frontend của bạn.
Button, Input, Icon, Badge... được tách thành unit nhỏ nhất, không phụ thuộc business logic.
Color, spacing, typography, border-radius... được định nghĩa tập trung thay vì hardcode rải rác.
Mỗi component có props documentation, usage example, hoặc ít nhất là JSDoc comment đầy đủ.
Components được tổ chức theo nhóm (atoms, molecules...) hoặc theo domain, không để lẫn lộn.
ARIA labels, keyboard navigation, focus management được áp dụng ít nhất ở các primitive component.
Component playground để develop, review và test UI độc lập với ứng dụng chính.
Size, color, shape variants được quản lý qua props/config thống nhất, không duplicate CSS class.
Components có thể kết hợp linh hoạt qua children, slots, render props thay vì inheritance cứng nhắc.
Screenshot/snapshot test để phát hiện thay đổi UI không mong muốn khi refactor hoặc update dependency.
Custom hooks, services, hoặc stores xử lý data/logic; component chỉ lo render và user interaction.
Feature components được test độc lập bằng mock data/API, không phụ thuộc toàn bộ ứng dụng.
Feature modules được load theo nhu cầu, không bundle tất cả vào một chunk duy nhất.
Lỗi ở một feature không làm crash toàn bộ app; có UI fallback thân thiện thay vì màn hình trắng.