代码走查1
線上問,和研發一起簡單的從代碼層面去解決問題,略low,
代碼走查:
?? ?1.存在的問題
?? ??? ?SQL查詢
?? ??? ??? ?1.對于業務上沒有用的字段沒必要添加
?? ??? ??? ??? ?比如 IsDel ,在具體的業務上,刪除數據是直接硬刪除,直接刪除了物理數據,所以,在SQL查詢的時候,SQL讀著可能沒有問題,但實際執行卻沒有意義,沒必要添加
?? ??? ??? ?2.!=不等于,查空值,要和判斷語句相符合,不要在SQL語句中否定,而if判斷中肯定,很容易迷茫
?? ??? ?方法名稱
?? ??? ??? ?1.方法名稱要用更為讓人易懂的詞匯,尤其是判斷
?? ??? ??? ??????? checkTitleOnlyOne? 這種返回,不明確的是否為true還是false,
?? ??? ??? ??????? 不如這種isBlank(orgId) 是true,就返回true
?? ??? ?方法調用規范
?? ??? ??? ?1.雖然都會調用dao,但是類不同,不能不同的類用相同的類名調用相同的方法,不易理解也不符合代碼規范
?? ??? ??? ?2.不能圖省事,直接復制代碼
?? ??? ?Debug調試
?? ??? ??? ?1.代碼調試必須使用debug,這樣才能去發現參數是否正常賦值、排查判斷返回值具體出現什么位置
?? ??? ??? ?參數、判斷---確定問題
?? ??? ?判斷重復
?? ??? ??? ?1.如果業務上不存在判斷,就沒必要添加,或者就不符合業務上的邏輯,比如,isBlank(orgId),orgId在全局都不會為空,就沒必要在具體業務中增加這樣的判斷,沒有任何的實際意義,只會影響代碼閱讀性,和代碼編譯的成本
?? ??? ?
?? ?? 2. 總結,
?? ??? ??? ?1.反復查看代碼,需要日常寫代碼的積累,如果不寫代碼,讀代碼會很吃力,不會寫代碼,有什么資格指點代碼
?? ??? ??? ?2.直接去讀代碼,按照代碼的邏輯,可能查不出來問題,走查代碼的時候,更多的時候,需要返回到代碼業務的層面,反復推敲代碼是否符合規則
?
總結
- 上一篇: QMouseEvent 的坐标__Win
- 下一篇: 几个删除重复记录的SQL语句