Sky's blog

          我和我追逐的夢

          常用鏈接

          統(tǒng)計(jì)

          其他鏈接

          友情鏈接

          最新評論

          sonar 與 NOSONAR


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

              而解決violation的辦法,除了正統(tǒng)的修改代碼來滿足規(guī)則外,還有一個(gè)變通的方法, NOSONAR。這個(gè)標(biāo)記本意是在一些特殊情況,有不得已的理由不得不違反規(guī)則,為了避免sonar繼續(xù)報(bào)錯(cuò)而不得已做了一個(gè)"變通"。 

              NOSONAR本意雖好,但要是有人濫用,變通就會變成取巧,因?yàn)榻鉀Qsonar violation的最簡單的方法,就是直接NOSONAR! 

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

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

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

              我沒有辦法去檢查這個(gè)58個(gè)NOSONAR是不是都合理的,都站得住腳的。出于程序員的習(xí)慣,對于一切不可確認(rèn)性都報(bào)以懷疑的眼光和質(zhì)疑的姿態(tài),我總覺得這58個(gè)NOSONAR讓我總是沒有底,每次我看到sonar上100%的規(guī)則檢測通過率時(shí),我總是禁不住在心里浮現(xiàn)NOSONAR的字樣。 

              好吧,我承認(rèn),我是個(gè)心里有些陰暗的家伙...... 

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

          評論

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

          做到是什么系統(tǒng),如果是普通業(yè)務(wù)系統(tǒng)的話不至于吧  回復(fù)  更多評論   

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

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

          主站蜘蛛池模板: 利川市| 松滋市| 固原市| 安图县| 神池县| 岢岚县| 弥勒县| 和田市| 海兴县| 宿迁市| 东乡县| 内乡县| 淮阳县| 化州市| 宁南县| 澄迈县| 罗江县| 桃园县| 台北市| 灵丘县| 论坛| 休宁县| 呼伦贝尔市| 呼和浩特市| 西城区| 大关县| 苍南县| 中西区| 扶绥县| 新密市| 牡丹江市| 西宁市| 安溪县| 墨竹工卡县| 兰溪市| 咸宁市| 开江县| 城固县| 芮城县| 呼玛县| 彰武县|