Sky's blog

          我和我追逐的夢

          常用鏈接

          統計

          其他鏈接

          友情鏈接

          最新評論

          sonar 與 NOSONAR


              大家都知道sonar是個好東東,在有CI支持的情況下,使用好了可以非常好的控制代碼的質量,諸如代碼覆蓋率,代碼規則檢查等。 

              而解決violation的辦法,除了正統的修改代碼來滿足規則外,還有一個變通的方法, NOSONAR。這個標記本意是在一些特殊情況,有不得已的理由不得不違反規則,為了避免sonar繼續報錯而不得已做了一個"變通"。 

              NOSONAR本意雖好,但要是有人濫用,變通就會變成取巧,因為解決sonar violation的最簡單的方法,就是直接NOSONAR! 

              當問題很簡單時,一般人都會選擇正常的方式修改代碼,如果只是舉手之勞基本上還是能遵守規則的。但是當問題復雜時,或者說當解決問題不再是舉手之勞時,每個人都要受到NOSONAR的誘惑。而NOSONAR的底線在哪里?沒有人定義,沒有人檢測,自然不會每個人都堅守,NOSONAR的底線隨著一個一個的NOSONAR慢慢的在降低。退五十步的人,是沒有資格笑百步的。 

              返回到現實代碼中,不知道是大家都沒有頂住誘惑,還是說我們開啟的規則不大合理,總之越來越頻繁的在代碼中看到NOSONAR了,雖然還沒有到泛濫的地步,但是已經讓我有些不安了。簡單搜索了一下剛才讓我感覺到很多NOSONAR的project,結果是58個。 

              更糟糕的是,每個NOSONAR后面都不會帶有注釋說明為什么要NOSONAR,因此一個個飛舞的NOSONAR就變成了一個個謎團。想知道為什么要NOSONAR嗎?恩,你猜...... 

              我沒有辦法去檢查這個58個NOSONAR是不是都合理的,都站得住腳的。出于程序員的習慣,對于一切不可確認性都報以懷疑的眼光和質疑的姿態,我總覺得這58個NOSONAR讓我總是沒有底,每次我看到sonar上100%的規則檢測通過率時,我總是禁不住在心里浮現NOSONAR的字樣。 

              好吧,我承認,我是個心里有些陰暗的家伙...... 

          posted on 2010-11-22 11:04 sky ao 閱讀(3921) 評論(2)  編輯  收藏 所屬分類: project manager

          評論

          # re: sonar 與 NOSONAR 2010-11-23 00:16 leekiang

          做到是什么系統,如果是普通業務系統的話不至于吧  回復  更多評論   

          # re: sonar 與 NOSONAR 2010-11-24 04:48 LeoLiang

          Sonor是否可以配置規則,不允許(忽略)NOSONAR?  回復  更多評論   

          主站蜘蛛池模板: 怀化市| 泰宁县| 会宁县| 石家庄市| 禹州市| 江达县| 吉安县| 莲花县| 拉孜县| 丰宁| 海盐县| 外汇| 滦平县| 衡阳县| 景泰县| 北辰区| 和龙市| 恩施市| 荔浦县| 民县| 兰考县| 汪清县| 北川| 外汇| 金川县| 仙桃市| 田东县| 凌源市| 桦甸市| 尼玛县| 东辽县| 洛扎县| 清水河县| 木兰县| 鹤壁市| 综艺| 分宜县| 新田县| 和顺县| 绥宁县| 龙山县|