日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java中的codereview

發布時間:2023/12/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的codereview 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


關于codereview,在平時的開發中,經常忽略的環節,參照目前介紹寫好代碼的幾本書和之前掉進的坑,做了一個總結,分享出來。

為什么要做

  • 通過review規避一些代碼層面的問題
  • 提升可讀性,方便后續擴展和維護
  • double check 確保代碼質量

檢查列表

注釋

  • 寫有意義的注釋
  • DO屬性上,名字無法識別業務含義的,加注釋
  • service接口和manager接口,注明方法的說明
  • 代碼塊中的復雜邏輯,添加注釋

風格

  • 域名不要寫死
  • 不同環境下差異的,注意使用配置項

日志

  • 合理分配日志級別,warn和error要分開
  • 日志中,異常信息要記錄,第一個參數簡短說明,第二個異常信息
  • 日志異常注意把相關的參數信息記錄下來,例如userId等
  • 異常拋日志的情況下,主要不要引入二次異常
  • 配置參數

線程安全

  • 需要被多個線程訪問的對象是否線程安全,檢查有無通過同步方法保護
  • 在保證線程安全的同時,要注意避免過度使用同步,導致性能降低
  • 不用使用Java原生的線程處理方法,推薦使用JUC框架中的類
  • 根據場景選擇不用的線程池來實現,會用簡化版Executors,理解處理過程

異常處理

  • 不要直接e.printStackTrace,用Logger記錄下來
  • 異常捕獲之后,要做響應的處理,返回錯誤提示或者記錄日志,切忌啥都不做
  • 當前程序中能夠處理的異常,捕獲即可,無法處理的,拋出
  • 異常只為異常服務,不要摻雜業務邏輯到異常中

性能

  • 避免多重的RPC或者網絡IO的循環,盡量批處理
  • 避免無窮循環,要有終止條件判斷
  • 不要主動進行垃圾回收,代碼中不要有System.gc()
  • String的split方法不要用,用開源包中的StringUtil工具類
  • 字符串的拼接,使用StringBuilder和StringBuffer

代碼邏輯

  • 不要在finally中return(try中的返回值,屏蔽異常)
  • volatile不具有原子性,劃分好synchronized的粒度問題
  • 推薦使用Guava作為工具處理類
  • 推薦joda來處理時間,然后SimpleDateFormat是非線程安全的
  • 單個方法超過50行,要做抽取,否則無法保證可讀性
  • 方法入參超過5個,抽取到QueryTO中進行處理
  • for或if的層級嵌套,不要超過4層
  • if的邏輯判斷中,多個||和&&的組合,注意拆分處理
  • case語句后面,需要加break
  • if后面,記得寫大括號
  • 文件資源,訪問后,記得close掉
  • 排序優先使用Comparator,一個類的擴展排序工具
  • 使用addAll、retainAll、removeAll優雅實現并集、交集、差集
  • List的remove,使用迭代器來進行刪除

事務處理

  • 多表同時更新操作,需要事務包裹,并驗證過
  • 批量插入,使用iBatis的batchInsert特性,需要在事務下才生效,可以通過wireshark查看網絡情況
  • 分布式場景下,可以使用消息中間件來保證最終一致性
  • 聲明式事務注解標簽,盡量在manager層搞掉,不要搞到service層或者web層
  • 一些可能出現重復處理的方法,記得做冪等操作

重復代碼

  • don’t repeat yourself
  • 同樣的業務邏輯處理,不要有兩份代碼

安全問題

XSS

  • cookie設置httponly屬性
  • jsonp輸入輸出檢查

CSRF

  • 服務端增加CSRF校驗,增加token
  • 必要的驗證碼

水平權限

  • 不用用戶之間的不能相互操作

標準

  • 代碼整潔
  • 可讀性好
  • 可維護性高
  • 性能優

本文轉自:http://iamzhongyong.iteye.com/blog/2149463

轉載于:https://www.cnblogs.com/nizuimeiabc1/p/4254119.html

總結

以上是生活随笔為你收集整理的java中的codereview的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。