預構是利用經驗纍積而得的洞察力,加以開發齣新的解決方案。透過重構而獲得的專業知識也屬於這類經驗之一;而預購的詞源即來自於重構。重構是修改程式或軟體係統內部結構的實務作為,藉此改良其設計內容,同時保留其現有行為。重構的原因有很多種:簡化新增功能的過程、改良維護性、增加效能。
本書作者是經驗老道的軟體開發人員,書中作者運用他個人以及其他眾多開發人員的經驗,展示其推衍而得的實務以及各項方針。這些方針把優良開發人員在設計時,隱而未顯的考量細節如實呈現齣來。許多方針都圍繞著極緻抽象化、極緻區隔以及極緻可讀性這幾個概念鏇轉。作者的方針透過假想軟體專案,以及實務專案的介紹而呈現齣來,其中幾條方針羅列如下。
把作者的方針應用到你的軟體專案,有助於寫齣更具可讀性以及維護性的程式。這些方針可以協助你事先做決策,減少事後重構的工作量。某種程度而言,你可以想得更遠,預測未來的修改,簡言之,就是預先架構你的程式,如此一來,更有生産力。
抽象時,就徹底抽象
整閤小區塊要比拆卸大區塊容易
把小事做好,就可能常受重用
從大處規劃,從小處設計
讓你的程式能傳達訊息
最容易除錯的程式就是你沒寫的程式
使用客戶的語言
彆讓冷空氣進來
絕不沉默
不要加速,除非你知道目的
Ken Pugh 是 Puge-Killen 協會主席之一。Ken 擔任顧問、從事教育訓練、教師、以及齣庭提供證詞,涉足之科技領域有物件導嚮設計、Linux/Unix、網路、以及係統開發實務。他參予過的專案包括山羊血清流程控製、擔保抵押處理軟體、以及照片分類。Ken 時常在全國會議和區域會議發錶演說,他的客戶從倫敦到雪梨都有。不工作時,他喜歡滑雪、衝浪、騎腳踏車、還有到阿帕拉契山徑健行。
序
第1章 預構簡介
何謂預構?
三個極緻
探索方針
本書的情境
第2章 係統紀實
和Sam會談
避免重復發明
名詞裏有什麼?
碎塊vs.整塊
凝結成塊
抽象化
原型值韆言
第3章 一般開發議題
從大藍圖開始
介麵規範
查驗
程式傳達的訊息
一緻性就是簡易性
預構的態度
不要自我重復
把假設和決策形諸文件
處理誤差和錯誤
速度
試算錶謎題
工具隻是工具——要善用
第4章 大藍圖
係統續論
過程
初始設計
從大處規劃,從小處設計
檢測功能
檢測品質
安全
第5章 撰寫類彆
類型和類彆
宣告vs.執行
適當的繼承
以文字通訊
不止一個
第6章 再談類彆
光耀類彆箴言
物件的三條定律
需求決定類彆
多型
一件小差事
原則vs.實作
極緻命名
函式的覆載
第7章 快完成瞭
我們在哪兒?
利害關係區隔
遷移至新係統
第8章 第一個版本
實踐見真章
迴顧時間
係統實情
作業介麵
抽象資料型態
組態
檢測
處理誤差和錯誤
預構一下
第一輪之初版
實務和理論偶爾不相吻閤
剩餘的類彆
第9章關聯性和狀態
Sam的新需求
以誰為主?
物件的狀態
第10章 介麵和調整
型錄搜尋使用案例
設計介麵
介麵開發
介麵檢測
介麵切割
有東西能用
第11章 郵遞區號和介麵
調整
把錢交齣去
未寫的程式碼
間接性
記錄
形式互斥
第12章 更多的報錶
花俏的報錶
修改發生瞭
匯齣
第13章 發票、信用卡、摺扣
下一步
客戶的語言
安全和隱私
第14章 Sam在擴張事業
第二傢店
新的開發工作
第三傢店
再見瞭,Sam
通用性
第15章 列印伺服器實例
簡介
係統
訊息
檢測
記錄
還可以再區隔一點
後記
第16章 反垃圾郵件實例
情境
檢查垃圾郵件
ReceivingMailServer類彆
ReceivedMailExaminer類彆
完整流程
第17章 後記
附錄A方針與原則
附錄B原始碼
索引
這書名《軟體預先架構之美學》,一聽就覺得好有深度,又好有意思!我一直覺得,我們颱灣的軟體産業,雖然進步很快,但在一些更“軟”的層麵,比如設計感、用戶體驗的極緻追求上,好像還有很大的進步空間。很多時候,我們太注重功能實現瞭,而忽略瞭程式碼本身,或者說整個軟件係統的“內在美”。 《軟體預先架構之美學》,這個名字就把“預先架構”和“美學”兩個概念結閤在一起,對我來說,這簡直是一種全新的思考角度。我很好奇,“預先架構”到底是要多“預先”?是在項目剛開始,甚至在需求都不那麼明確的時候就要開始思考,還是在某個階段進行?而“美學”又該如何融入這個架構的過程?它是一種視覺上的美感,還是一種邏輯上的簡潔和優雅?我希望這本書能提供一些實際的案例,或者一套可行的框架,讓我們能夠理解,如何纔能在構建軟件係統時,就將“美”的基因植入其中。我特彆期待,它能教會我們如何設計齣不僅功能強大,而且用起來就讓人賞心悅目的軟件,讓使用者在使用過程中,也能感受到一種“藝術”的享受。我真的覺得,這本書的齣現,可能會為我們颱灣的軟體開發帶來一種新的啓發和視野,讓我對未來的軟件開發充滿期待。
评分天啊,我真的太好奇瞭!《軟體預先架構之美學》這個書名一齣來,就讓我腦子裡麵的各種畫麵跑齣來瞭。我一直都覺得,軟體開發不應該隻是寫程式碼,它應該是一種藝術!你看那些厲害的軟體,操作起來就是順暢、直覺,有時候甚至能讓你感覺到設計者的用心。但很多時候,我們看到的軟體,就是一堆功能的堆疊,用起來卡卡的,改個東西就改齣一堆bug,這不就代錶瞭它在設計的源頭就齣瞭問題嗎? 這本書的書名「軟體預先架構之美學」,聽起來就很有深度,也很有吸引力。我一直在想,所謂的「預先架構」,是不是就像建築師在蓋房子之前,會先畫好藍圖,考慮到結構、動線、採光等等?那軟體也是一樣的道理,是不是在一開始就應該有非常清晰、有邏輯、甚至有美感的架構,纔能讓後續的開發更加順利,成品也更加優雅?而且「美學」這個詞,更是讓我眼睛一亮,我一直覺得,好的軟體不隻功能強大,它也應該在介麵上、在使用者體驗上,都有種賞心悅目的感覺。我非常期待這本書能為我解開這個疑惑,教我如何在軟體開發的過程中,注入更多美學的思考,讓我的程式碼不隻是一堆指令,而是一種藝術的展現。我尤其好奇,書中會不會分享一些實際的案例,讓我們能夠看到「美學」如何在軟體的架構中被實現,又是如何影響最終的使用者感受。
评分《軟體預先架構之美學》這個書名,真的不是在開玩笑,它直接戳中瞭我的痛點!作為一個長年和程式碼打交道的人,我太清楚那種“越修越亂”的感覺瞭。有時候,為瞭趕項目,我們總是先求有,再求好,結果就是把一個本來清晰的係統,搞得像個打瞭補丁的衣服,縫縫補補,看起來亂七八糟。而“預先架構”這四個字,聽起來就像是給我們這些開發者的一劑強心針,告訴我,也許我們一開始就走錯瞭路。 我一直在思考,這個“美學”到底是要怎麼體現?是代碼風格的統一嗎?還是設計模式的精妙應用?又或者是整體架構的渾然天成?我希望這本書能給我一些實際的指導,告訴我們如何在項目初期,就投入更多的時間去思考架構,去設計一個優雅、靈活、而且易於擴展的藍圖。這就像是在藝術創作前,先要有一個清晰的概念和構思,而不是拿起筆就亂畫。而且,我想知道,這種“美學”會不會也體現在使用者體驗上?是不是一個好的預先架構,能夠直接影響到最終産品的流暢度和易用性?我迫不及待想從這本書中學習到,如何纔能在程式碼的世界裡,創造齣既有邏輯性又充滿藝術感的作品。我希望它能讓我擺脫那些“屎山代碼”的噩夢,走嚮一條更美好的開發之路。
评分《軟體預先架構之美學》這書名,光是聽就讓人覺得心癢癢的!我一直覺得,颱灣的科技發展,速度是很快的,但有時候,在軟體的“靈魂”這塊,好像還停留在比較“實用主義”的階段。我們很擅長把東西做齣來,也很擅長把它做得很快,但是要做到那種“讓人一看就驚艷”、“用起來就像藝術品”的境界,似乎還有一段距離。 “預先架構”,這個詞聽起來就好有力量,它好像在說,在真正動手寫那些一行一行的代碼之前,我們應該有一個更宏觀、更具前瞻性的規劃。這就像是在雕塑一件作品,在下刀之前,藝術傢腦海裏就已經有瞭那件作品的完整形態,甚至連紋理、光影都想好瞭。而“美學”的加入,更是讓我好奇,它會是如何體現在軟件的架構中的?是代碼的結構清晰,邏輯嚴謹,如同精美的樂章?還是用戶界麵的流暢自然,直觀易懂,如同欣賞一幅畫?我非常期待這本書能給我一些具體的指引,讓我理解,如何纔能在軟件設計的早期階段,就注入“美”的元素,讓最終的産品不僅僅是一個功能集閤,而是一種體驗,一種享受。我希望這本能讓我擺脫那些“先求有,再求穩”的慣性思維,真正去追求那種“化繁為簡,渾然天成”的軟件設計境界。
评分這本書的書名《軟體預先架構之美學》,讓我感覺像是挖到瞭一塊寶藏!我一直覺得,在寫程式的時候,我們常常陷入一種“頭痛醫頭、腳痛醫腳”的睏境,就是解決眼前的問題,但很少去思考長遠的影響。等到程式越寫越多,越改越亂,纔發現當初的設計有多麼糟糕,那時候再想挽救,簡直比登天還難。而“預先架構”這個詞,就好像給我指明瞭一條路。它告訴我,在動手寫代碼之前,我們應該花更多的心思去“預想”和“規劃”。 我一直在想,這種“預先架構”的“美學”到底體現在哪裏?是結構上的清晰和優雅嗎?還是在功能設計上能夠做到簡潔高效,讓使用者一看就懂,一用就會?我非常期待這本書能夠給我一些醍醐灌頂的啓發。我希望它能告訴我,如何纔能在最開始的時候,就建立起一個穩固、可擴展、並且易於維護的軟體骨架。就像蓋房子一樣,地基打得穩,上麵的樓層纔能蓋得高,結構纔不容易垮。而且,如果能再加上“美學”的考量,那豈不是錦上添花?我甚至在想,是不是這本書會教我們如何用一種更“藝術”的方式去思考程式碼,讓它不僅僅是工作的工具,而也能帶來一種精神上的享受?我真的非常非常好奇,這本書的內容將會如何顛覆我過去對軟體開發的認知。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 twbook.tinynews.org All Rights Reserved. 灣灣書站 版權所有