原文:
用自己的理解寫成了乙個精簡版的:
31天重構:
1. 封裝集合: 集合的add/remove時的邏輯
2. 遷移方法: 將方法遷移到更頻繁地使用它的類中
3. 上移方法: 重構是將方法向繼承鏈上層遷移的過程
4. 下移方法:
5. 上移字段:
6. 下移字段:
7. 重新命名(方法,類,引數):使方法,類,引數名更形象
8. 移除繼承: 用委託來移除不必要的繼承
9. 提取介面: 如果發現多於乙個類使用另外乙個類的某些方法,引入介面解除這種依賴往往十分有用
10.提取方法: 將乙個方法裡的多個邏輯分為多個方法,減少bug的可能性
11.將switch轉為策略模式(字典策略):不必每次去增加switch
12.測試「縫隙」:
13.提取方法物件:少有本地變數
14.拆分職責:乙個類只做一件事情
15.移除重複**:
16.封裝條件:不要if過多的判斷
17.抽出基類:多個類有相同的方法,提拔到基類去
18.用條件判斷移除異常:移除try
19.抽出抽象工廠類:負責類的建立
20.抽離不需要的方法:父類中不是面向所有物件的方法,下放到子類職責
21.刪除多於子類:某個子類的成員可以被合併到基類中,這時這個子類就沒必要保留
22.分解方法:將大的方法分解成多個單獨的方法
23.引進引數物件:當方法的引數包含多個引數時,可把引數封裝成類
24.箭頭反模式:當使用大量的巢狀條件判斷時,形成了箭頭**。
25.契約設計模式:新增驗證,避免空引用等異常
26.移除雙重否定:
27.移除多功能類:違反單一職責
28.重新命名包含大量布林型引數的方法:通過命名良好的方法暴露布林引數,並將原始方法改為private以阻止外部呼叫
29.移除『中間人』:「中間人」僅僅簡單的將呼叫委託給其他組建,沒其他功能。完全可以移除。
30.盡快的return:
31.用多型代替條件:
AsyncTask原理精簡版
asynctask有三個主要的方法 onpreexecute doinbackground string.params onpostexecute 建立asynctask物件需要重寫乙個類繼承asynctask,因為asynctask本身是抽象類 new asynctask execute para...
Sql優化精簡版
1.select語句中避免使用 盡量應該根據業務需求按欄位進行查詢 2.刪除重覆記錄 delete from tble tb where tb.id select min id from tble ble where tb.name ble.name 3.用 替換 4.盡量多使用commit 如對大...
github 使用精簡版
使用git bash上傳時,必須進入需要上傳的檔案的目錄,例如我要上傳的檔案在c 1 1 1 upload 那麼我就要進入到c 1 1 1,然後用以下命令上傳檔案 刪除 git rm cached r useless git commit m remove directory from remote...