Cách đảm bảo một tiêu chuẩn mã hóa duy nhất trong .NET với công cụ hỗ trợ


14

Có lẽ, tình huống cơ bản là quen thuộc với mọi người. Bạn đã đồng ý về các tiêu chuẩn mã hóa nhất định trong nhóm của mình và bây giờ là lúc đảm bảo rằng mọi người đều tuân theo chúng.

Một số làm điều đó thông qua lập trình cặp nặng, những người khác duy trì một danh sách các tiêu chuẩn mã hóa và thực hiện đánh giá thủ công. Những người khác thậm chí sử dụng công cụ phân tích mã tĩnh từ Visual Studio để đảm bảo rằng các tiêu chuẩn mã hóa được thi hành.

Thực hành tốt nhất của bạn để đảm bảo tiêu chuẩn mã hóa là gì? Những công cụ nào bạn sử dụng - có một số công cụ cần thiết mà mọi nhà phát triển nên biết? Làm thế nào để bạn tích hợp tiêu chuẩn hóa mã của bạn trong các công cụ phát triển của bạn?

Câu trả lời:


15

StyleCop (giờ cũng là StyleCop cho Resharper) thường được sử dụng để thực thi các quy tắc kiểu mã hóa trong các cơ sở mã C #.

Nó có thể được tích hợp vào bản dựng CI của bạn và gây ra lỗi xây dựng nếu có bất kỳ vi phạm nào được đưa ra.


Bất kỳ thông tin thêm về cách sử dụng nó? Tôi muốn chạy kiểm tra phong cách trước mỗi cam kết. Vì vậy, tôi cần cli cho nó. Có cái nào không Tôi không thể tìm thấy bất kỳ thông tin có liên quan.
FreeLightman

1
Điều này có thể giúp blog.submain.com/stylecop-detailed-guide
z-boss

@R. - nếu chỉ một người có thể tùy chỉnh các quy tắc StyleCop. Ôi, đợi đã ...
Oded

@R. - bạn cũng có thể viết các quy tắc của riêng bạn.
Oded

6

Trước tiên, hãy chắc chắn rằng bạn có một máy chủ xây dựng phù hợp liên tục xây dựng mã của bạn. TFS hoặc Jenkins / Hudson + Msbuild là những lựa chọn tốt. Trên máy chủ xây dựng này, tất nhiên bạn chạy thử nghiệm và bạn cũng có thể chạy phân tích mã tĩnh cũng như kiểm tra cú pháp.

Tôi khuyên bạn nên sử dụng FxCop hoặc Gendarme để phân tích mã tĩnh. Cả hai có thể được sử dụng cạnh nhau.

Một chìa khóa quan trọng để thành công: không triển khai chúng với một bộ quy tắc lớn và mong muốn nó hoạt động tốt. Bạn sẽ có hàng triệu cảnh báo và không ai quan tâm.

Quy tắc của ngón tay cái là:

  • Luôn luôn có cảnh báo bằng không. Giảm bộ kiểm tra ban đầu nếu bạn phải, sau đó thêm một số kiểm tra mới mỗi lần chạy nước rút và sửa chúng. Đảm bảo mọi kiểm tra được thực hiện đều có giá trị thực sự với bạn và phù hợp với tiêu chuẩn của bạn.

  • Nếu bạn có các quy tắc cụ thể về tên miền mà bạn cần tuân thủ, đừng ngại thực hiện các quy tắc của riêng bạn.

Để kiểm tra cú pháp, hãy sử dụng StyleCop hoặc StyleCop cho Resharper nếu bạn đang sử dụng Resharper (tôi cũng rất khuyến khích).


2

StyleCop và FxCop là các công cụ trọng lượng nhẹ của tôi nhắc nhở các kiểu mã cho các nhà phát triển của tôi. Resharper cũng là một trong những tốt, nhưng nó làm cho VS rất chậm.

Tôi khuyên dùng FxCop vì thư viện quy tắc phong phú của nó, với tài liệu tuyệt vời, phân loại, ví dụ và nhiều tính năng khác.

Ngoài ra còn có phần mở rộng StyleCop Fixer cho studio hình ảnh có sẵn, giúp khắc phục các lỗi thông thường.

Mã số liệu đôi khi cũng bị ảnh hưởng bởi các kiểu mã. Bạn có thể theo dõi khả năng duy trì mã với công cụ này.


2

Tôi muốn nhấn mạnh việc phân tích mã tự động đã được đề cập (FxCop, StyleCopy, CI build, v.v.) hoạt động trước, ưu tiên đánh giá thủ công. Việc kiểm tra tự động sẽ thu được nhiều thứ hơn nhiều so với đánh giá thủ công, và thường nghiêm ngặt hơn, nhất quán hơn và là tài liệu tự ghi. Đánh giá thủ công có thể tốt cho các quyết định thiết kế cấp cao hơn, v.v., nhưng theo kinh nghiệm của tôi, chúng có thể rất chủ quan và ngớ ngẩn.


0

NDepend có thể được sử dụng để thực thi các tiêu chuẩn mã hóa khác nhau trên Cơ sở Mã .NET. Nó có khoảng 200 quy tắc mã mặc định có thể được duyệt ở đây . Ngoài ra, thật dễ dàng để tùy chỉnh các quy tắc hiện có hoặc tạo quy tắc của riêng bạn vì với NDepend, quy tắc chỉ là truy vấn C # LINQ .

Tuyên bố miễn trừ trách nhiệm: Tôi làm việc cho NDepend

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.