Có Stylecop thay thế FXcop không? Sản phẩm nào chúng ta nên sử dụng với Visual Studio 2008?Stylecop vs FXcop
Trả lời
Stylecop là công cụ phân tích kiểu hoạt động ở cấp mã nguồn. Nó tồn tại chủ yếu để cung cấp một phong cách chung duy nhất mà các dự án được quản lý có thể sử dụng để duy trì tính nhất quán trong thế giới phần mềm được quản lý lớn hơn. Nó đưa ra quyết định về phong cách chủ yếu để tránh các cuộc chiến tranh thánh (sau khi tất cả, phong cách gần như luôn luôn là một điều chủ quan vốn có). Tôi không nghĩ rằng tôi từng gặp một người thích tất cả các quy tắc của StyleCop, nhưng đó là ok. Điều đó có nghĩa rằng StyleCop là một sự thỏa hiệp tốt trong số các hướng dẫn phong cách rộng lớn tồn tại. (Nếu quy tắc của stylecop có thể tùy biến cao, ngoài việc chỉ cần bật/tắt chúng, nó sẽ đánh bại toàn bộ mục đích của công cụ.)
FxCop, là công cụ phân tích tĩnh hoạt động trên cấp độ quản lý hội,, tổ hợp. Nó có thể được chỉ dẫn thông qua các thuộc tính bởi vì nó có thể thấy các thuộc tính trên các phần tử mã, ví dụ: Nó phát hiện các vấn đề có thể được nhìn thấy ở mức "nhị phân" (như nó) so với mức cú pháp.
Để trả lời câu hỏi của bạn, StyleCop không supercede FxCop và FxCop không supercede stylecop. Chúng là hai công cụ khác nhau với hai mục đích khác nhau mà cả hai có thể cung cấp một lợi ích thực sự cho mã của bạn.
(. AKA, tôi chạy với cả :))
Một vài ví dụ về những điều người ta có thể phát hiện so với những thứ khác có thể phát hiện:
vi phạm StyleCop có thể bao gồm những cảnh báo liên quan đến : Khoảng trắng, định dạng, tài liệu phương thức công khai thông qua xml-comments, thứ tự định nghĩa phương thức trong một lớp.
Vi phạm FxCop có thể bao gồm cảnh báo liên quan đến: Toàn cầu hóa, khớp nối chặt chẽ, độ phức tạp của chu trình, các tham chiếu rỗng tiềm ẩn.
Có, các câu trả lời trước đây so sánh hai câu trả lời sai trên tất cả các số. StyleCop và FxCop thực hiện hai nhiệm vụ rất khác nhau, và nó là giá trị điều tra giá trị từng cung cấp trên codebase của bạn và tại sao bạn nên chạy chúng. – Jedidja
Đồng ý rằng không phải tất cả quy tắc StyleCop đều tốt, nhưng khi bạn nói những quy tắc bạn không muốn có thể bị tắt. Chúng tôi đang sử dụng StyleCop - sau khi vô hiệu hóa các quy tắc ngu ngốc đơn giản, nó cung cấp giá trị tốt cho chúng tôi - với chi phí thấp ..! Được đề xuất. (lưu ý rằng chúng tôi ghét nó ngay từ cái nhìn đầu tiên ..) – stiank81
@ stiank81: Vâng, tôi nghĩ rằng _everybody_ ghét StyleCop lúc đầu. Tuy nhiên, sau một thời gian ngắn, các lợi ích thực sự tự thiết lập và nó chứng minh rằng nó là một công cụ hữu ích để duy trì sự nhất quán trong nguồn. :) –
công cụ stylecop hoạt động trên mã nguồn C# của bạn. fxcop xem mã được biên dịch của bạn từ bất kỳ ngôn ngữ .net nào.
Vì vậy, nếu bạn sử dụng Stylecop, FXCop có thể thêm bất kỳ giá trị nào không? –
Thực sự, bạn nên sử dụng FxCop. –
Ít nhất là bây giờ, cho đến khi nó trở nên dễ cấu hình hơn. :) –
StyleCop thực hiện phân tích mã nguồn không thể định cấu hình được. Nó không thực sự làm điều tương tự như FxCop, phân tích mã được biên dịch.
Các wikipedia bài viết về những cung cấp tóm tắt tốt của sự khác biệt:
FxCop không phân tích mã tĩnh của cụm mã số quản lý của bạn. Hãy suy nghĩ về nó như tìm kiếm các vấn đề sẽ gây ra vấn đề trong thời gian chạy hoặc điều đó sẽ ảnh hưởng đến cách nhà phát triển tin rằng mã sẽ chạy (mã không thể truy cập).
StyleCop phân tích cấu trúc mã của bạn từ một điểm văn bản. Hãy coi đây là những vấn đề sẽ ảnh hưởng đến sự phát triển và kinh nghiệm thiết kế của bạn (Định dạng, quy ước đặt tên, tài liệu)
Cả hai công cụ này đều có giá trị và bạn nên sử dụng cả hai nhưng chúng tập trung vào các vấn đề khác nhau.
Thay thế hoặc bổ sung tốt cho FxCop/StyleCop sẽ sử dụng công cụ thương mại NDepend.Với công cụ này, bạn có thể viết Quy tắc mã qua LINQ truy vấn(namely CQLinq). Disclaimer: Tôi là một trong những nhà phát triển của công cụ
Hơn 200 code rules được đề xuất theo mặc định, bao gồm các thiết kế, kiến trúc, mã chất lượng, đang tiến hóa, đặt tên công ước, mã chết, .NET Fx usage ...
CQLinq được dành để viết các quy tắc mã có thể là verified live in Visual Studio hoặc có thể là verified during build process and reported in an HTML/javascript report.
Sức mạnh của CQLinq qua FxCop hoặc StyleCop, là nó là đơn giản để viết một quy tắc đang, và nhận được ngay kết quả. Các cơ sở được đề xuất để duyệt qua các phần tử mã phù hợp. Cụ thể như sau:
- 1. Phân tích mã Visual Studio vs StyleCop + FxCop
- 2. Quy tắc StyleCop và FxCop loại trừ lẫn nhau
- 3. Quy tắc phân tích mã tĩnh tùy chỉnh trong FxCop hoặc StyleCop?
- 4. Làm thế nào để tích hợp FxCop và VS 2008?
- 5. StyleCop/FxCop 10 - Làm thế nào để bạn chặn đúng thông điệp chỉ trên một mức không gian tên?
- 6. Suppress StyleCop
- 7. FxCop cho .NET 4.0
- 8. Thư mục FxCop thiếu
- 9. Cài đặt FxCop
- 10. StyleCop cho ReSharper
- 11. MS StyleCop và CruiseControl.NET
- 12. Tắt quy tắc StyleCop
- 13. StyleCop cho C++
- 14. Tôi có nên sử dụng FxCop và tại sao không?
- 15. StyleCop tích hợp với CI quá trình xây dựng (Criuse Control, Nant, msbuild và StyleCop)
- 16. FxCop 1.36 đã biến mất
- 17. Mã phân tích/FxCop trong VS2008
- 18. So sánh hai kết quả fxcop
- 19. StyleCop-Đầu ra của tôi ở đâu?
- 20. Loại trừ tệp khỏi kiểm tra stylecop
- 21. Resharper để tải cài đặt StyleCop
- 22. Thay thế cho StyleCop cho Visual Studio?
- 23. StyleCop cho các ngôn ngữ khác
- 24. Thực hiện StyleCop MSBUILD từ Gói NuGet
- 25. Quy tắc StyleCop SA1600 và giao diện thực hiện
- 26. FxCop - Sử dụng các thuộc tính khi thích hợp
- 27. sonar hệ thống C# sinh thái: mã lỗi FxCop 521
- 28. Phân tích cảnh báo Phân tích FxCop/Mã CA1506: AvoidExcessiveClassCoupling
- 29. Sử dụng FXCop trong dự án của bạn
- 30. Cách quản lý các báo cáo áp đảo FxCop
dup? http://stackoverflow.com/questions/580168/visual-studio-code-analysis-vs-stylecop-fxcop –