Consider adding a Clang-Tidy configuration to enforce some coding conventions
Một pull request liên quan đã được merge.
- #345 của @walbourn — đã merge
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Bắt đầu bằng việc xem xét pull request đang mở #345 và thiết lập EditorConfig cũng như quy tắc kiểu mã hiện tại của repository. So sánh các kiểm tra quy tắc đặt tên được đề xuất cho Clang-Tidy và các quy tắc Clang-Format có thể áp dụng với các quy ước hiện có của dự án; công việc được coi là hoàn tất khi cấu hình đã thống nhất được thêm vào mà không xung đột với các công cụ hiện tại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Take your project DirectXTK as an example, in which you have set these conventions:
PascalCase for class names, methods, functions, and enums.
camelCase for class member variables, struct members
UPPERCASE for preprocessor defines (and nameless enums)
To enforce these naming conventions, you can add readability-* to the checks as shown below:
Checks: >
-*,
readability-*
Then add some of these check options:
CheckOptions:
readability-identifier-naming.ClassCase: 'CamelCase'
readability-identifier-naming.ClassMethodCase: 'CamelCase'
readability-identifier-naming.FunctionCase: 'CamelCase'
readability-identifier-naming.EnumCase: 'CamelCase'
readability-identifier-naming.ClassMemberCase: 'camelBack'
readability-identifier-naming.MemberCase: 'camelBack'
readability-identifier-naming.MacroDefinitionCase: 'UPPER_CASE'
readability-identifier-naming.EnumConstantCase: 'UPPER_CASE'
Microsoft Visual Studio supports Clang-Tidy and Clang-Format out of the box.
P.S.: while EditorConfig is fine, I think you can enforce more specific code-style conventions, such as east const and west const with Clang-Format.
Using Clang-Tidy (and perhaps also Clang-Format) could help maintain greater code consistency.
Reference:
- Ngôn ngữ chính
- C++
- Star
- 1.8k
- Fork
- 262
- Merge trung bình
- 3 ngày 21 giờ
- Pull request đã merge (30 ngày)
- 7
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/DirectXMath
-
DirectXMath as a C++ moduleĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
microsoft/DirectXMath#349 ·
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
microsoft/DirectXMath#328 ·
-
simplemath
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
microsoft/DirectXMath#327 · 1 bình luận ·
-
Project feedbackĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
microsoft/DirectXMath#326 · 2 bình luận ·
-
arm64 maintenance
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
microsoft/DirectXMath#309 ·
Tất cả issue của microsoft/DirectXMath
Issue tương tự
-
[request] poppler-data/0.4.12Đang mởupstream update
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
conan-io/conan-center-index#31098 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
ml-explore/mlx-c#136 ·
-
bug chart-audit
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
Maintainer thường phản hồi trong vòng 1 ngày