搜尋
首頁後端開發C#.Net教程使用FxCop做程式碼檢查和優化
使用FxCop做程式碼檢查和優化Dec 20, 2016 pm 05:22 PM
performance

前段時間做了一個用到一個微軟的免費測試工具FxCop,使用後覺得還不錯,能進行一些代碼方面的自動測試,同時有幫助學習編碼規範和提高代碼執行效率,從而提高代碼的整體質量.

這個工具能測試到的地方有: Design(設計),Globalization(全球化),Interoperability(互通性), Naming(命名),Performance(性能規則),也可以自己加入規則進行測試;

工具還是很好用的,很快就上手了
有幾點小技巧
1 可以自訂錯誤的規則,建議取消掉globalizationrules,securityrules等規則

2點中問題的連接,後可以直接連接到有程式碼問題的程式碼上

3可以看看breaking的Info註解,裡面有比較好的解決方法


檢查後修改的程式碼有 

1 Class的命名規則

2 判斷字元為空由
if( strStartValue.ToString() == "")
改為
if(strStartValue.Length() == 0))


3比較字串的時候
dr["PrefixM"].ToString().ToLower() == "mm" 改用String.Compare(strPrefix, "yy", true) == 0的方法


4 刪除掉方法中定義而未使用的參數

5 刪除無效的賦值

5 DataReader中未關閉(其他程式中的)

6 提示刪除程式中未使用到的方法

7 提示catch 需要指定具體的Exception ,這樣可以節約捕獲Exception 時內存的使用

8 刪除多餘的using 引用
遇到的問題有
1 有大量的Globalization 要求,但是平時是沒有註意到的,雖然開發的程序要求支持多語言
strMonth = StartDateValue.Month.ToString();

這樣都會提示需要多語言的支持

2 程式未有AssembliesShouldDeclareMinimumSecurity定義
需要做簽名,但是這個一般是平時沒有註意的

3 CLR編寫的存儲過程需要有out參數,但是也會提示出來,所以需要製定一套比較詳細的規則

4 在循環中有string相加的地方都提示要用stringbuilder這個修改是比較麻煩的,除非能之前註意,

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
C語言中NULL的替代方案有哪些C語言中NULL的替代方案有哪些Mar 03, 2025 pm 05:37 PM

本文探討了C中的無指針啟用的挑戰。它認為問題本身不是零,而是濫用。 本文詳細介紹了預防退出的最佳實踐,包括提出前檢查,指針pitiberi

c語言編譯器怎麼加下一格c語言編譯器怎麼加下一格Mar 03, 2025 pm 05:44 PM

本文解釋瞭如何使用printf中的\ n逃脫序列在C中創建新線字符並列出函數。 它詳細介紹了功能並提供了代碼示例,以說明其用於輸出中的線路斷裂。

c語言編譯器哪個好?c語言編譯器哪個好?Mar 03, 2025 pm 05:39 PM

本文指導初學者選擇C編譯器。 它認為,海灣合作委員會由於其易用性,廣泛的可用性和廣泛的資源,最適合初學者。 但是,它也比較了海灣室,Clang,MSVC和TCC,突出了它們的差異

C語言中NULL在現代編程中還重要嗎C語言中NULL在現代編程中還重要嗎Mar 03, 2025 pm 05:35 PM

本文強調了NULL在現代C編程中的持續重要性。 儘管取得了進步,但NULL對於明確的指針管理仍然至關重要,從而通過標記沒有有效的內存地址來防止細分故障。 最好的prac

c語言編譯器網頁版有哪些?c語言編譯器網頁版有哪些?Mar 03, 2025 pm 05:42 PM

本文回顧了初學者的在線C編譯器,重點是易用性和調試功能。 在線GDB和REPL。 其他選項,例如Programiz和Compil

c語言在線編程網站 c語言編譯器官方網站匯總c語言在線編程網站 c語言編譯器官方網站匯總Mar 03, 2025 pm 05:41 PM

本文比較在線C編程平台,突出了諸如調試工具,IDE功能,標準合規性和內存/執行限制等功能的差異。 它認為“最佳”平台取決於用戶需求

c語言編譯器複製代碼方法c語言編譯器複製代碼方法Mar 03, 2025 pm 05:43 PM

本文討論了C IDE中的有效代碼複製。 它強調,複製是IDE功能,而不是編譯器功能,並且詳細提高了效率的策略,包括使用IDE選擇工具,代碼折疊,搜索/替換,Templa

c語言編譯器不彈出輸出窗口怎麼解決c語言編譯器不彈出輸出窗口怎麼解決Mar 03, 2025 pm 05:40 PM

本文在C程序編譯中對缺少輸出窗口進行故障排除。 它研究了諸如無法運行可執行文件,程序錯誤,錯誤編譯器設置,背景過程和快速程序終止之類的原因。解決方案涉及ch

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),