原创 整潔代碼之道 16 重構 SerialDate

又一個實戰類型的章節,主要講如何讓測試完整的覆蓋代碼 16.1 首先,讓它能工作 16.2 讓它作對 16.3 小結 提高測試覆蓋率能有效讓代碼更整潔

原创 整潔代碼之道 12 迭進 Emergence

這本書越到後面翻譯的越是起飛,這一章的英文標題是 Emergence ,完全不知道這個譯者爲啥會自造一個詞來實現翻譯 譯者想表達的意思可能是迭代+進化 12.1 通過迭進設計( Emergent Design )達到整潔目的

原创 整潔代碼之道 8 邊界

介紹一些保持軟件邊界(和其他接口對接的界限)整潔的實踐手段和技巧 8.1 使用第三方代碼 第三方程序包和框架提供者追求 普適性 ,這樣就能在多環境中工作,吸引廣泛的用戶 使用者則想要集中滿足特定需求接口 接口提供方和接口使用

原创 Linux 命令行與 shell 腳本編程大全 4 更多的 bash shell 命令

瞭解一些 shell 的管理命令 更多精彩 更多技術博客,請移步 IT人才終生實訓與職業進階平臺 - 實訓在線 4.1 監測程序 Linux 系統管理員面臨的最複雜任務之一就是 跟蹤運行在系統中的程序 4.1.1 ps

原创 整潔代碼之道 14 逐步改進

通過對一個命令行參數解析程序的講解來體現整潔代碼的實現過程 代碼內容太長,而且後面的代碼排版出現了問題,沒有仔細看 14.1 Args 的實現 編程是一種技藝甚於科學的東西 要編寫整潔代碼,必須先寫出骯髒代碼,然後再清理它的

原创 整潔代碼之道 9 單元測試

測試是簡單的驅動式程序,讓我們能夠手工與自己編寫的程序交互 9.1 TDD 三定律 在編寫不能通過的單元測試前,不可編寫生產代碼 從測試的角度考慮代碼實現 只可編寫剛好無法通過的單元測試,不能編譯也算不通過 只可編寫剛

原创 整潔代碼之道 17 味道和啓發

對整本書中提到的優化手段做了一系列總結 17.1 註釋 17.1.1 不恰當的信息 註釋只應該描述對應代碼和設計的技術信息,不要說廢話 17.1.2 廢棄的註釋 廢棄的註釋會遠離它們曾經描述的代碼,更有可能這些代碼早已經

原创 整潔代碼之道 4 註釋

還是認爲這一章中作者對於註釋的態度有點過於理想了,所以內容僅供參考 Tips 若編程語言足夠有表達力,或者我們擅長用這些語言表達意圖,就不那麼需要註釋,也許是根本不需要 我認爲,如果註釋能夠清晰的表達代碼的含義,對於回顧一

原创 Linux 命令行與 shell 腳本編程大全 14 處理用戶輸入

介紹 shell 腳本如何接收用戶的輸入 更多精彩 更多技術博客,請移步 IT人才終生實訓與職業進階平臺 - 實訓在線 導覽 運行腳本時可以往腳本中傳入命令行參數,例如 ./param.sh 1 2 3 shift 命令

原创 Linux 命令行與 shell 腳本編程大全 5 理解 shell

瞭解子 shell 和 父 shell 之間的關係以及一些命令 5.1 shell 的類型 Linux 中,用戶使用的 shell 類型,被配置在 /etc/passwd 文件中,通常都是 bash shell 除了 bas

原创 整潔代碼之道 7 錯誤處理

錯誤處理只不過是編程時必須要做的事之一,當錯誤發生時,程序員就有責任確保代碼照常工作 7.1 使用異常而非返回碼 遇到錯誤時,最好拋出一個異常,這樣調用代碼時就會更簡單,也就更簡潔,其邏輯不會被錯誤處理搞亂 7.2 先寫

原创 Linux 命令行與 shell 腳本編程大全 6 使用 Linux 環境變量

Linux 環境變量能提升 shell 使用體驗 很多程序和腳本都通過環境變量獲取系統信息、存儲臨時數據和配置信息 更多精彩 更多技術博客,請移步 IT人才終生實訓與職業進階平臺 - 實訓在線 6.1 什麼是環境變量 s

原创 整潔代碼之道 10 類

要做到真正整潔的代碼,至少要將注意力上升到類的層面 10.1 類的組織 根據標準的 Java 約定,類的標準組織應該如下所示 public class ClassName { // 公共靜態變量 // 私有靜態變

原创 整潔代碼之道 11 系統

整潔代碼的層次繼續上升,從類到系統,本章講解如何在較高的系統層級上保持代碼整潔 11.1 如何建造一個城市 系統和城市一樣,有些人負責全局,其他人負責細節,幾乎不可能一個人掌控所有 11.2 將系統的構造與使用分開 軟件

原创 Linux 命令行與 shell 腳本編程大全 1 初識 Linux shell

瞭解什麼是 Linux ,並介紹命令行和 shell 在 Linux 整體架構中的位置 更多精彩 更多技術博客,請移步 IT人才終生實訓與職業進階平臺 - 實訓在線 1.1 什麼是 Linux 下圖中的每一部分在 Lin