原创 軟件設計的哲學: 第十章 定義不存在錯誤

目錄 10.1 異常增加複雜性的原因 10.2 例外情況太多 10.3 定義不存在的錯誤 10.4 示例:在Windows中刪除文件 10.5 示例:Java子字符串方法 10.6 屏蔽異常 10.7 異常聚合 10.8 事故? 10

原创 軟件設計的哲學: 第六章 更深的通用模塊

目錄 6.1 使類具有一定的通用性 6.2 示例:爲編輯器存儲文本 6.3更通用的API 6.4 通用性使得信息隱藏效果更好 6.5 問自己的問題 6.6 結論 在設計新模塊時,最常見的一個決定就是以通用方式還是特殊方式實現它。

原创 軟件設計的哲學: 第九章 合併還是分解

目錄 9.1 如果共享信息,則將信息集合在一起 9.2 如果可以簡化接口,就一起使用 9.3 消除重複 9.4 通用代碼和專用代碼分開 9.5 示例:插入光標和選擇 9.6示例:日誌記錄的單獨類 9.7示例:編輯器撤銷機制 9.8 分

原创 軟件設計的哲學:第八章 降低複雜性

目錄 8.1 示例:編輯器文本類 8.2 示例:配置參數 8.3 做過了頭 8.4 結論 本章介紹了另一種思考如何創建更深層次類的方法。假設您正在開發一個新模塊,並且發現了一個不可避免的複雜性。哪個會更好呢:應該讓模塊的用戶處理

原创 軟件設計的哲學:第七章 不同層不同抽象

目錄 7.1 傳遞方法 7.2 接口複製什麼時候可以? 7.3 修飾符 7.4接口與實現 7.5傳遞變量 7.6 結論 軟件系統是分層組成的,其中較高層使用較低層提供的功能。在一個設計良好的系統中,每一層都提供了不同於其上下層的

原创 軟件設計的哲學:第四章 深度封裝模塊

目錄 4.1 模塊化設計 4.2什麼是接口? 4.3 抽象 4.4 深度模塊 4.5淺模塊 4.6 類拆分 4.7示例:Java和Unix I/O 4.8 結論 管理軟件複雜性最重要的技術之一是系統設計,這樣開發人員在任何時候都

原创 軟件設計的哲學 第五章 隱藏信息

目錄 5.1 信息隱藏 5.2 信息泄漏 5.3 時間分解 5.4示例:HTTP服務器 5.5 示例:類太多 5.6 示例:HTTP參數處理 5.7 示例:HTTP響應中的默認值 5.8 隱藏在類中的信息 5.9 不要過度隱藏 5.1

原创 第一章:關於複雜性的介紹

  作者簡介: 常柱,微信公衆號【架構未來】作者,十多年一線互聯網研發從業經驗;擅長大型業務系統架構和技術團隊管理工作;對會員體系、技術中臺、業務中臺、物聯網平臺等建設有豐富的經驗;前五八同城商業會員技術負責人,寶駕租車技術負責人等,現在

原创 軟件設計的哲學:第二章 複雜性的本質

“ 作者簡介:常柱,微信公衆號【架構未來】作者,十多年一線互聯網研發從業經驗;前五八同城商業會員技術負責人,寶駕租車技術總監,現58到家業務中臺技術負責人。 這本書是關於如何設計軟件系統來最小化它們的複雜性。第一步是瞭解敵人。到底什麼

原创 軟件設計的哲學【翻譯】--目錄

2020年必讀書籍推薦:軟件設計的哲學(A Philosophy of Software Design),本書190多頁,豆瓣的點評分在9分以上,目前只有英文版本,中文版還未上市,英文好的同學建議去直接閱讀原版。   作者簡介 John O

原创 軟件設計的哲學:前言

01 前言 80多年來,人們一直在爲計算機編寫程序,但令人驚訝的是,關於如何設計這些程序或什麼是好程序的討論卻少之又少。關於軟件開發過程(如敏捷開發)和開發工具(如調試器、版本控制系統和測試覆蓋工具),已經有了相當多的討論。還廣泛分析了編程

原创 2020薦書:軟件設計的哲學

2020年必讀書籍推薦:軟件設計的哲學(A Philosophy of Software Design),本書190多頁,豆瓣的點評分在9分以上,目前只有英文版本,中文版還未上市,英文好的同學建議去直接閱讀原版。     內容簡介 書中討

原创 軟件設計的哲學:第三章 編程的戰術和戰略

“ 作者簡介: 常柱,微信公衆號【架構未來】作者,十多年一線互聯網研發從業經驗;前五八同城商業會員技術負責人,寶駕租車技術總監,現58 到家業務中臺技術負責人。         好的軟件設計最重要的元素之一是在處理編程任務時採用的思維方

原创 程序員offer溝通的4個基本原則

 常柱 架構未來  你需要就一份新工作進行溝通時:比如你的薪水、福利,或者我個人最喜歡的每週工作時間縮短等,當公司問你“你想要多少?”或者“這是我們的報價,你說呢?” 最後關於薪資的談話可能是最傷腦筋的部分,但談判過程開始得要早得多。這意

原创 如何提高你的編程技能

程序員如何提高你的編程技能,成爲編程高手呢?以下是我的5個建議: 建立目標 不斷練習 分享經驗 閱讀代碼 積極提問 🎯建立目標 設定目標可以提高開發人員的工作效率。問自己以下問題: 你爲什麼開始編程? 你的編程目標是什麼? 您希望通過