[SourceMonitor]中文註解造成複雜度爆炸的Bug
有關SourceMonitor的使用與介紹,請參考:[Tool]SourceMonitor - 程式碼掃瞄
之前就有因為註解,造成SourceMonitor誤判複雜度的bug,
今天又遇到了一次,順便抓出來當一下test case的sample。
猜測原因是:
中文註解中特定字眼(SourceMonitor判斷UTF8錯了)放在大括號之前,就會出現爆炸性的複雜度。
修正後的程式:
猜測是UTF8判讀出錯的原因是,
成立的條件,
1.註解or中文字元在最後面與大括號相接
2.將「用」這個字換成別的字不一定會出錯
3.當最後一個字,是「的」,也會出錯
一樣的程式,因為註解判讀錯誤,
一個複雜度6,一個複雜度30。
在使用SourceMonitor時,或寫程式時,請避開這樣的使用方式,以降低誤判的可能性。
[註]公司前輩建議,可以在註解最後加上英文句號".",即可避免此問題。
blog 與課程更新內容,請前往新站位置:http://tdd.best/