資料級的重構

2022-09-12 11:12:10 字數 987 閱讀 4245

1.用具名常量替代神秘數值:

如果使用了數字或字元表示形式,例如3.14,那麼請將這樣的字元使用具名常量來替代,例如pi

如果乙個變數的名字容易讓人產生誤解,就換個好點的名字

3.將表示式內聯化:

把乙個中間變數換成給它賦值的那個表示式本身

4.用函式來代替表示式:

用乙個函式來代替表示式,這樣一來表示式就不會在**中重複出現

5.引入中間變數

將表示式的值賦給中間的變數,要記住,給這個中間變數的命名應能準確概況表示式的用途

6.用多個單一用途變數代替某個多使用者變數:

如果乙個變數身兼數職,通常為i、j、temp,請用多個變數來讓他們各司其職。

7.在區域性用途中使用區域性變數而不是引數:

如果乙個被用作輸入的子程式引數在其內部又被用作區域性變數,那麼請直接建立乙個區域性變數來代替它

8.將基礎資料型別轉化為類:

如果乙個基礎資料型別需要額外的功能或額外的資料,那麼請把該資料轉換為乙個物件,然後再新增你

所需要的類的行為。類似於color、status、

9.將一組型別碼轉換為類或列舉型別:

例如訂單型別若分為普通訂單、積分訂單和活動訂單,請將該類的型別碼轉換為類或列舉型別

10.將一組型別碼轉換為乙個基類及其相應的派生類:

例如對order類,就可以建立nomalorder、activityorder、integerorder這樣的派生類

11.將陣列轉換為物件:

如果正在使用乙個陣列,且其中的不同元素具有不同的型別,那麼請用乙個物件替換該元素。

將陣列中各個元素轉化為該類的各個成員

12.把群集封裝起來

如果乙個類返回乙個群集,到處散步的多個群集例項將會帶來同步問題。請讓你的類返回乙個

唯讀群集,並且提供相應的子程式

13.用資料類來代替傳統記錄:

建立乙個包含記錄成員的類。這樣你就可以集中完成對記錄的錯誤檢查、持久化、和其它與

該記錄相關的操作

《重構》讀書筆記之資料重構

1.self encapsulate field 自封裝字段 為字段建立setter getter,並且只以這些函式來訪問字段 做法 為待封裝字段建立取值 設定函式 找出該字段的所有引用點,將他們全部改為呼叫取值 設值函式 將該字段宣告為private 複查,確保找出所有引用點 編譯測試 2.rep...

VTK vtkPolyData資料重構過程

對已有的浮點型資料,用vtk進行重構並建立拓撲結構。基本流程 m vtkpointssel vtksmartpointer new m vtkcellarraysel vtksmartpointer new m vtkpolylinesel vtksmartpointer new m vtkpoly...

重構 顯示資料 DataGridView的應用

1.基本的屬性 定位 currentcell 當前單元格 currentcell的響應的屬性 value值 columnindex 當前單元格的列 rowindex 當前單元格的行 指定單元格 datagridview i,j 行數datagridview.rowcount 對單元格的形狀進行編輯 ...