熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Microsoft Source Analysis for 

2013-11-13 10:32:29  來源: .NET編程 

  強制編碼風格是一個長期被熱烈爭論的話題人們不僅為團隊應該遵循何種編碼風格而爭論不休同時還要爭論究竟是否應該確立一個標准的編碼風格現在微軟發布了StyleCop這是他們在內部使用的一個編碼風格強制工具微軟的這一舉措無疑將起到推波助瀾的作用
 
  StyleCop也即所謂的微軟C#源代碼分析器(Microsoft Source Analysis for C#)用途和FxCop相似只不過作用對象是源代碼此外它和FxCop一樣是源於微軟的內部工具在發展到一定程度之後微軟覺得對其他人也有 用於是被公開發布不過StyleCop的自定義程度不如FxCop那麼高
 
  Jason Allor聲稱由這個工具所強制要求的大約條規則與Visual Studio的默認設置是兼容的遺憾的是他忘記提到Visual Studio具有個完全不同的默認設置集合其中多數與這個工具互相矛盾的
 
  這個工具涉及的方面包括支持文件內容調試文本編排元素頭和文件頭中的文檔格式元素語句表達式和查詢子句的布局行空格元素字段和變量的命名大括號圓括號方括號等的位置在方法聲明或方法調用中方法參數的位置關鍵字和操作符周圍的空格在類中元素的標准順序訪問修飾符的使用內置類型的使用在空白的控制台應用程序上運行這些規則會返回個錯誤如果你打開Keep Tabs設置則會出現個錯誤一些規則稍顯笨拙例如要求using指示符必須放在命名空間內而不是放在文件頂部
 
  已經有人在抱怨這個工具缺乏校正的支持Dustin Norman寫道在將這個工具運行在一個較小的程序集上時這個工具要我手動修改個違規錯誤而它卻不能在不影響代碼語義的基礎上自動為我修復錯誤——這真的要讓我崩潰了!
 
  古老的tabs vs spaces爭論「譯者注即代碼的縮進是用Tabs來實現還是用Spaces來實現」又被提及而且我們還不能禁用這一規則Nick Berardi寫道真是開玩笑Tabs居然不被允許相反只能使用空格這個主意糟透了因為它會破壞語句塊的布局例如一個變量使用個空格而其他變量則使用了無論如何應該允許禁用類似tab規則這樣毫無意義的規則
 
  如 果能夠禁用這些規則這個工具就更好了我知道你會說他們已經夠好了

  但是我完全不同意使用空格來代替tab這是毫無邏輯可言的或許只有在Vi編輯器 第一次出現從而引發了開發人員之間的聖戰可堪比擬吧我喜歡用Tab的方式編寫我的代碼但它總是警告我我的每行代碼都有tab在其中
 
  同時Daniel Stolt也問到了關於VB的情況NET開發人員提供一些額外工具總是受歡迎的——但為什麼只有C#的?代碼格式的強制規則對於VB開發人員來說也是非常需要的
 
  顯然VB代碼編輯器在對關鍵字和操作符進行縮進和空格的處理中已經具有自動格式化的一些初步支持但還不夠接近StyleCop所支持的效果
 
  順便說來我完全同意Nick Berardi對於tabs vs spaces的觀點使用tabs有什麼問題?難道按次方向按鈕比直接指向某個位置更有某種優勢?還是在源代碼文件中保存個空白字符存在著某種好處?


From:http://tw.wingwit.com/Article/program/net/201311/13953.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.