Copy... Copy → Paste !

Share
Xem chủ đề cũ hơnXem chủ đề mới hơn
avatar
Silver Dragon
Silver Dragon
Gender : Nam

Posts Posts : 1094
Thanked : 660
Coins Coins : 6987
Tham Gia : 26/08/2008
Birthday : 05/08/1920

Xem lý lịch thành viên
23022017
Mã nguồn của bạn, sau khi bạn bấm F5, biên dịch của bạn hoàn thành không có nghĩa là mã của bạn viết ra đã không có lỗi, nó chỉ có ý nghĩa là mã nguồn của bạn chỉ chạy tốt trên máy tính của bạn. Nếu đưa mã nguồn đó được chạy trên hệ thống 64 bit, hoặc một máy tính cấu hình khác, bạn có bảo đảm rằng nó sẽ chạy đúng y như trên máy tính của bạn khi bạn nhấn F5.


Đây chính là lúc mà các bước phân tích mã (code analysis) sẽ giúp cho bạn. Code Analysis sẽ được sử dụng để phân tích các thành phần trong mã, và báo cáo bất kỳ hành vi nào vi phạm qui tắc thiết kế. Những qui tắc này dựa vào thiết kế của Microsoft .NET Framework. Có hơn 200+ qui tắc được gắn kèm với Visual Studio 2010, được chia thành các nhóm khác nhau. Các nhóm này sau đó được chia thành các bộ qui tắc khác nhau, có thể được sử dụng vào những vấn đề đặc biệt khác nhau trong mã. Tính năng Code Analysis có sẳn trong bộ sản phẩm Visual Studio 2010 Premium và Visual Studio 2010 Ultimate.


Thực thi Code Analysis


Code Analysis có thể được cấu hình để chạy tự động mỗi khi bạn thực hiện biên dịch mã nguồn. Nghĩa làm mỗi khi bạn bấm F5, quá trình phân tích mã sẽ tự động thực hiện, hoặc là có thể quá trình biên dịch của bạn được thực hiện tự động (Sử dụng Team Build Automation). Để thực thi Code Analysis, bạn có thể tùy chỉnh trong IDE, hoặc cấu hình ở mỗi lần Check-in mã nguồn.
Kết quả của quá trình phân tích mã được hiển thị trong cửa sổ danh sách lỗi. Theo mặc định, tất cả các vi phạm trong mã nguồn đều được hiển thị ở dạng cảnh báo (Warning), tuy nhiên chúng ta có thể thay đổi cấu hình này.
Sau khi thực hiện Code Analysis, nếu bạn muốn sửa các lỗi đó thì có thể đi qua trình tự theo danh sách để sửa. Mỗi qui tắc vi phạm đều có mô tả chi tiết, cũng như tập tin nào vi phạm và dòng mã nào vi phạm qui tắc. Bạn có thể sửa chữa, hoặc có thể bỏ qua cảnh báo vi phạm này (nó sẽ không xuất hiện lần sau). Trường hợp bạn muốn sửa lỗi, sẽ có hướng dẫn chi tiết các lỗi và phương pháp sửa chữa cho bạn, rất cụ thể và rõ ràng.


Một ví dụ đơn giản về Code Analysis:
Cách tốt nhất để hiểu về Code Analysis là chúng ta sẽ đi qua một ví dụ đơn giản. Ví dụ này sẽ sử dụng một chương trình Calculator đơn giản.
Trước khi thực hiện Code Analysis, chúng ta cần cấu hình qui tắc kiểm tra trước, đây là thiết lập khi chúng ta bắt đầu thực hiện dự án. R-Click vào Project Calctulator, Chọn Properties, nó sẽ mở ra bảng thiết lập cấu hình cho dự án của bạn, chọn vào Tab Code Analysis:





Bạn chọn vào Microsoft All Rule trong khung sổ xuống, và chọn Save.
Về tập hợp và ý nghĩa của các qui tắc, sẽ được liệt kê trong bài viết tiếp theo.


Để chạy phân tích mã, bạn R-Click vào Project cần chạy, ở đây là Calculator, chọn Static Code Analysis. Lúc này mã nguồn của Project sẽ được biên dịch và kiểm tra, kết quả phân tích sẽ được hiển thị như hình dưới.



Lúc này, xuất hiện gần 20 cảnh báo cho dự án Calculator, duyệt qua tất cả các cảnh báo, bạn dễ dàng nhận thấy đa số thuộc tập qui tắc cảnh báo Globalization. Những cảnh báo này cũng cho ta biết file mã nguồn nào cụ thể bị lỗi và dòng mã nào bị lỗi.


Bạn thử nhìn vào cảnh báo số 4, lỗi ở dòng mã 21, file Form1.cs. Cảnh báo này cho ta biết nên thay đổi cách thức của phương thức Convert.ToInt32. Từ đó ta có thể biết phải làm gì để sửa chữa những cảnh báo đó.





Giả sử chúng ta sẽ sửa lỗi này, ta sẽ thêm vào đoạn mã như hình để bảo đảm các qui tắc của lớp System.Globalization.





Thực hiện lại Code Analysis của dự án, ta sẽ thu được 19 cảnh báo, 1 cảnh báo đã được sửa lỗi.




Kết luận:
Code Analysis là một công cụ mạnh mẽ để giúp cho bạn tìm thấy những vấn đề tiềm ẩn trong mã của bạn, giảm thiểu được nguy cơ và nâng cao chất lượng mã nguồn của bạn mà không can thiệp đến quá trình biên dịch. Nó sẽ tự động thực hiện trong quá trình bạn biên dịch mã nguồn.


Nguồn: https://tbhung.wordpress.com/2010/10/18/static-code-analysis-in-vs2010/
Share this post on:Excite BookmarksDiggRedditDel.icio.usGoogleLiveSlashdotNetscapeTechnoratiStumbleUponNewsvineFurlYahooSmarking

Comments

No Comment.

Xem chủ đề cũ hơnXem chủ đề mới hơn
Permissions in this forum:
Bạn không có quyền trả lời bài viết