Posted on 2009-04-29 14:22
love1563 閱讀(250)
評論(0) 編輯 收藏 所屬分類:
項目總結
1、未使用(死)代碼
。存在未使用的私有靜態字段
。帶有不必要的修飾符的借口
。目前沒有使用的私有字段
。未使用的變量
。無需的參數
。顯示導入的java.lang包
。目前沒有使用的私有方法
2、編碼標準
。一行語句中聲明了多種類型的變量
。物理位置不在一起的同名小組成員 。
。從一個抽象類庫中的構造器調用的抽象方法
。包括大量case語句的switch語句
。除了第一個之外的main()函數
。直接彈出的exception類庫 (文章來源 www.iocblog.net)
。catch語句中exception或者runtimeexception
。直接彈出的error
。沒有在接口中定義的常量
。長整數應該使用‘l’代替小寫字母‘l’
3、初始化
。沒有顯式初始化的靜態字段
。沒有顯式初始化每個數據成員的構造器
。編譯代碼中可能的漏洞
。存在錯誤的case的switch語句
。程序體為空的for語句
。程序體為空的if語句
。需要重載的方法
。應該使用等號代替==
。程序體為空的else語句
。強制轉換為較低精度的主要數據類型
。在switch子句中的文本標識
。if條件中的變量賦值
。缺少default子句中的switch語句
。存在嵌套賦值
。比較浮點數
。循環控制變量在循環內部被突然改變
。方法參數名稱和類成員名稱沖突
。可能與字符串串聯混淆的+操作符
4、面向對象編程
。繼承的靜態成員函數被隱藏
。可能嵌套過深的類庫
。繼承的實例變量被隱藏
。被重載private方法
。內部的類庫不可見或外部的類庫不相關
。某個實列變量為public或在package中
。沒有在一開始列出的public或package方法和數據
。不是abstract或實現比較通常的接口
。命名慣例
。一個類名稱不符合標準
。一個接口名稱不符合標準
。一個列外名稱不符合標準
。一種方法名稱不符合標準
。一個靜態字段名稱不符合標準
。一個靜態方法名稱不符合標準
。一種方法參數名稱不符合標準
。一個實列字段不符合標準
。一個本地變量名稱不符合標準
。一個最終靜態字段中包含小寫字母
。一個返回布爾值的方法使用"is"或者"has"前綴
。一個接口成員字段包含小寫字母
。使用一個非慣例的變量名稱
5、優化
。一個finally模塊中存在未關閉的流
。使用一個for循環代替system.arrarycopy()拷貝數組
。存在沒有必要的instanceof
。存在沒有必要的強制變量類型轉換
。可以使用一個縮寫的賦值語句
。常量字符串使用stringbuffer代替string
。循環條件過于復雜
。取反操作符使用過于頻繁
6、回收
。finalize()沒有調用super.finally()
。最終方法的最后模塊沒有調用super.finalize()
。finalize()被顯示調用
。在將主要類型轉換成string時,使用了不必要的臨時變量
。在應該使用long[]的位置使用了date[]
7、javadoc注釋
。誤用了javadoc標簽
。javadoc和普通注釋之間區分不明顯
8、線程
。使用synchronized,降低了性能
9、全局靜態分析
。過度訪問package-private字段
。過度訪問package-private方法
。過度訪問package-private類庫
。過度訪問public/protected字段
。過度訪問public/protected方法
。過度訪問public/protected類庫
。沒有使用全局package-private字段
。沒有使用全局package-private方法
。沒有使用全局package-private類庫
。沒有使用全局public/protected字段
。沒有使用全局public/protected方法
。沒有使用全局public/protected類庫
10、企業版java beans(ejb)
。bean類庫沒有定義成為public
。bean類庫被錯誤定義成為abstract
。bean類庫被錯誤定義成為final
。bean類庫實現一個ejbcreate()方法
。bean類庫錯誤定義finalize方法
。ejbcreate()訪問控制符沒有定義成為public
。sessionbean中的ejbcreate()沒有返回void
。定位方法的修飾符沒有定義成為public
。定位方法的返回類型不是一個主鍵,也不是主鍵的類集
。ejbpostcreate()有一個非public的訪問控制修飾符
。ejbpostcreate()沒有返回類型void
11、雜項
。成員字段隱藏在成員方法中
。循環記數器無法遞增
。for循環中沒有包含布爾條件
。存在的clone()方法沒有調用super.clone()
。for語句缺少代碼模塊
。方法參數得到賦值