代碼審查小結

1 不要異地釋放內存,釋放內存請用FreeAndNil。

僞代碼:

procedure TForm1.btn2Click(Sender: TObject);
var
  p: Pointer;
begin
  //FList存放了很多的同類型的指針
  p := FList[0];
  DoSomething(p); //我指的錯誤是不能在DoSomeThing中進行釋放內存的行爲,否則下面下面的FreeAndNil就會出錯。

  FreeAndNil(P);
end;

2. try finally end; 申請內存的需要在try之外,這主要是防止申請內存失敗,導致釋放無效指針。

3. 無效代碼(特別是是指Coder爲了Debug方便定義的一些常量、特殊路徑),爲了更好的管理這些無效代碼,最好用編譯條件管理。

4.儘量減少硬編碼,主要是減少筆誤,方便維護,增強閱讀性

5.存儲路徑請用函數,而不是自己隨意填一個路徑,因爲有些目錄,桌面程序是沒有訪問權限的.

6.Delphi特殊結構裏面最好使用定長的數據類型,所以,請不要使用string,可以用字符數組或者PChar類型代替。

7.最小鎖原則,在設計鎖的時候,一定要想清楚這個問題,否則,後患無窮!

8 局部變量一定要初始化,因爲這個工作你不做,變量就處於一個隨機指向的狀態,有時候就會出現一些莫名奇妙的問題。

9 申請的內存空間一定要初始化。FillChar,ZeroMemory。

10 不要吝嗇空格、空行、begin end,這些可以增強代碼的可閱讀性。

11 多次使用的字符串、數字,強烈定義成常量,節省手工成本、維護成本、減少筆誤造成的錯誤

12 使用Code Template定義一些常用的註釋格式、字符串的輸入,定製自己的Delphi。

13  使用To Do List進行邏輯分析、註釋。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章