不論使用哪一種語言開發,寫出易懂易讀易維護的代碼都是很重要的事情。而在寫程式之外,如何有效迴避與開發無關的雜事或低效率會議則屬於 Clean Coder 的範疇,希望本文能夠提升讀者作為開發者的 "乾淨" 程度
「程式設計師最糟糕的表現就是把自己封閉起來,只顧一頭將自己埋在技術堆裡。甚至連公司業務火燒眉毛、即將崩潰了也不聞不問。你的工作職責就是要讓業務免於陷入困頓,讓...
「驗收測試的目的是溝通、澄清及精確化。從專業開發人員的眼光來看,與業務方、測試方協同工作,確保大家都明白系統的行為將是怎樣,是自己的責任」 取自: The C...
CH9: 時間管理 「專業開發人員同樣清楚會議的高昂成本,他們同樣清楚自己的時間是寶貴的。所以,如果會議沒有立竿見影及顯著的成效,他們會主動拒絕」 「好的主管...
「軟體架構的目標是最小化 『建置和維護系統所需的人力』」 「架構的規則都是一樣的! 年輕設計師可能會認為這是無稽之談,可能會堅定認為現在的一切都是新的、是不...
「每一個範式都將某些東西帶離開我們。goto語句、函式指標、賦值,還有什麼東西可以帶走的嗎?」 「或許沒有了。因此,這三種範式將可能是我們唯一看到的三種範式」...
「什麼是物件導向? 對軟體架構師來說: 物件導向是透過使用多型(Polymorphism) 來獲得對於系統中每個原始碼依賴方向的絕對控制力」 取自: Clea...
「SOLID 原則告訴我們該如何將函式和資料結構安排到類別中,及這些類別該如何相互關聯」 「一旦我們應用了 SOLID 原則,我們將與元件(Component...
「大多數軟體設計師認識到,OCP 是指導他們設計類別和模組的原則。然而,當我們考慮架構元件層級時,這個原則就顯得更重要了」 「OCP 是系統架構背後的推動力之...
「在物件導向革命的最初幾年,我們將 LSP 視為指導『繼承的使用』的一種方式。然而,LSP 可以擴展到架構層面,只要簡單地違反可替代性,就會導致系統的架構受到...
「一般來說,如果你所依賴的模組包含了超過你所需要的,那就是有害的,這可能導致不必要的重新編譯和重新部署(Redeploy)。在更高的架構層級也是如此的」 「在...