 |
|
|
| |
|
這樣寫code好不好?辨識、分析、改善,寫出易讀易維護的程式碼
|
|
|
|
|
|
出版日期:2024-10-09
|
|
ISBN:9789863128083
|
|
定價:630元
特價:90折!567元
|
|
|
|
參考分類(CAT):
|
|
參考分類(CIP): 數值分析
|
|
|
|
|
|
|
|
|
內容簡介 程式要寫得好,不只是執行結果正確就好。
這些情況是否似曾相識?
.過個週末就看不懂自己寫了什麼 code
.修好一邊的 bug,另一邊就出新 bug
.稍微調整功能,就必須地毯式檢查整個專案
【寫程式別再靠直覺和乖乖!】
只要建立優良的程式結構,就算交給其他人接手,
也可以快速地理解、維護、修改原始碼。
本書所傳授的,就是寫出「好程式」的「設計技巧」。
◆辨識
- 資深軟體架構師的職場實際負面案例,親眼見證業界 bad code
- 低內聚、密耦合、半熟物件、退化註解……認識壞結構就能一眼看破
◆分析
- 防衛不足、功能分散、職責不清……分析主要弊病,對症下藥
- YAGNI、Tell, Don''t Ask、單一責任、最小驚訝……認識設計原則,檢討程式碼
◆改善
- 防衛子句、值物件、工廠類別、策略模式……各種技巧範例實際解決問題
- 學習地圖、職場心法無私分享,軟體設計不再是紙上談兵
程式人人都能寫,好程式卻是寥若晨星;
掌握軟體設計力,才能創造工程師的專業價值 & 不可取代性!
本書特色:
◆293 個精心準備的程式範例
以電商系統與電玩遊戲為例,挑選主流語言共通語法,逐步示範將粗劣程式碼縫補、修整的過程。
◆詳細列舉優質、劣質程式碼的特徵與影響
基於資深職業經驗,具體說明,在現實程式碼也能活用書中技巧。
◆觀念基礎扎實,說明清晰易懂
以多種比喻、聯想來說明,而非通篇艱澀道理,可與生活經驗融會貫通。
◆旁徵博引,融合歷來軟體經典概念
引述軟體設計各大經典書籍,一本集結知識精華,也是銜接經典的橋樑。 作者介紹 仙塲大也
出身於青森縣。曾任職知名電機製造商,目前在 READYFOR 擔任軟體架構師,致力於推廣重構與軟體設計。
在與劣質程式碼戰鬥的過程中發現了軟體設計的魅力。有空的時候就會在腦中重構程式碼。
曾獲 IT 工程書大賞 2023 技術書部門大賞、Developers Summit 2023 話題賞第 1 名、最佳講者賞第 3 名,多次受邀演講。
Twitter(現 X):ミノ駆動(@MinoDriven) 目次 第 1 章 瞭解不良構造的後果
1.1 意義不明的命名
1.2 難以理解的巢狀條件判斷結構
1.3 容易召喚各式各樣惡魔的資料類別
1.4 驅魔的基本
第 2 章 設計的第一步
2.1 選擇清楚表達功能的名稱
2.2 不重複使用變數,要為不同功能準備不同變數
2.3 不寫流水帳,把功能區分為函式
2.4 將相關的資料和邏輯統整到類別中
第 3 章 類別設計 ―串接一切的設計基礎―
3.1 設計時應確保類別能獨立運作
3.2 讓類別獨當一面的設計技巧
3.3 檢驗驅魔的效果
3.4 解決程式結構問題的設計模式
第 4 章 活用不可變性質 ―建立穩定的結果―
4.1 重複賦值
4.2 可變狀態帶來的意外後果
4.3 不可變和可變的處理方針
第 5 章 低內聚 ―七零八落的物件―
5.1 靜態函式的誤用
5.2 初始化函式的分散
5.3 通用工具類別(Common、Util)
5.4 使用引數回傳結果
5.5 過多的引數
5.6 成員變數串
第 6 章 條件判斷 ―解開迷宮般的流程控制―
6.1 巢狀條件判斷造成可讀性降低
6.2 大量重覆的 switch
6.3 重複、巢狀條件判斷
6.4 不要以型別判斷作為條件判斷
6.5 熟練運用介面是邁向中級者的第一步
6.6 旗標引數
第 7 章 集合 ―化解巢狀結構的結構化技術―
7.1 重覆製作集合原有的函式
7.2 迴圈內的巢狀條件判斷
7.3 低內聚的集合操作
第 8 章 密耦合 ―緊密糾纏、難分難解的結構―
8.1 密耦合與職責
8.2 密耦合的案例和解決方案
第 9 章 危害設計健全性的各種惡魔
9.1 死碼(Dead Code)
9.2 YAGNI 原則
9.3 魔法數字(magic number)
9.4 字串型別執著
9.5 全域變數
9.6 null 問題
9.7 例外的擱置
9.8 破壞設計秩序的元程式設計
9.9 套件的技術包裝法(技術驅動包裝)
9.10 複製貼上的範例程式碼
9.11 銀彈
第 10 章 名稱設計 ―讓人可以看透程式結構的名稱―
10.1 召來惡魔的名稱
10.2 設計名稱―目標式名稱設計
10.3 需要保持警覺的名稱事項
10.4 用途不明的名稱
10.5 導致構造大幅歪曲的名稱
10.6 和函式的位置格格不入的名稱
10.7 過度縮寫的名稱
第 11 章 註解 ―讓程式更穩定、更易修改的文字―
11.1 退化註解
11.2 用註解掩飾不良的命名
11.3 註解應標示用途及更改規格的注意事項
11.4 註解原則總結
11.5 註解文件
第 12 章 函式 ―優秀的類別必有優秀的函式―
12.1 使用同一類別的成員變數
12.2 以不可變為基礎以防止意外行為
12.3 只下令、不詢問
12.4 CQS(命令查詢分離)
12.5 引數
12.6 回傳值
第 13 章 建模 ―類別設計的基石―
13.1 容易陷入邪惡結構的 User 類別
13.2 模型的思考方式和理想的結構
13.3 不良模型的問題和解決方法
13.4 影響功能性的建模
第 14 章 重構 ―讓舊有程式碼脫胎換骨的技術―
14.1 重構的流程
14.2 以單元測試防止重構失誤
14.3 規格不明確時的分析方法
14.4 IDE 的重構功能
14.5 重構的注意事項
第 15 章 設計的意義與設計師的態度
15.1 本書所談論的設計問題
15.2 缺乏設計將導致開發效率下降
15.3 軟體與工程師的成長性
15.4 解決設計不良的問題
15.5 判斷程式碼好壞的軟體度量
15.6 程式碼的分析工具
15.7 設計目標與性價比
15.8 成為掌握時間的超能力者
第 16 章 克服職場的阻礙、實踐設計觀念與技術
16.1 溝通
16.2 設計
16.3 實作
16.4 審查
16.5 提升團隊的設計能力
第 17 章 軟體設計之旅的下一站
17.1 更進階的軟體設計書籍
17.2 提升設計技能的學習之路
1、五南網路會員所購買的商品均享有取貨7天的鑑賞期﹝包含國定假日、例假日﹞,退換貨之商品必需於取貨7天內辦理退換貨,否則恕不接受退換貨。
2、依照消費者保護法規定,凡消費者於網站購物均享有7天商品鑑賞期,唯需注意辦理退貨商品需保留完整外包裝、附件、外盒等等,才可辦理退貨。
3、如欲退貨,請在鑑賞期內將商品連同發票寄回,每張訂單限退一次。
4、鑑賞期非試用期,若您收到商品經檢視後有任何不合意之處,請立即依照退貨規定辦理退貨
1、若本網站已設團購價,請直接下訂即可。
2、如您需要其他類型產品團購,則請聯繫客服或直接將需求e-mail
至wunan2351960@gmail.com即可
一、購物說明 1.本站商品近60萬筆。(商品圖片、出版日期等相關資訊僅供參考,出貨一律是最新版本) ◎請注意:上架商品不等於一定可以出貨。(會有缺書而訂不到書的狀況,敬請體諒) 2.當您下訂時,我們會向出版訂書(約7-10個工作天)(政府出版品因受限於採購程序,平均補貨作業時間約 2~6週)。如有久候,敬請見諒。當出版社回覆缺書時,我們只能取消您的訂單。 3.當您下訂時您必須同意:訂單成立的第14天起,因缺某一本書無法出貨的訂單,本站有權利自動取消您的訂單。◎請注意:缺書取消訂單我們統一發送簡訊通知。如果您要部份出貨者,請留言後再重新下單。 4.、本站保留出貨的權利。 二、運費說明 1.宅配到府:滿999元免運費,未滿則加收65元(台灣本島),離島一律加收120元 2.五南門市取貨:未滿350,運費20元 3.揪團:免運費 三、退貨與退款說明 五南會員所購買的商品均享有取貨7天的猶豫期﹝包含國定假日、例假日﹞,退換貨之商品必需於取貨7天內辦理退換貨,否則恕不接受退換貨。 1.請注意!下列商品購買後不提供7天的猶豫期,請務必詳閱商品說明並再次確認確實有購買該項商品之需求及意願時始下單購買,有任何疑問並請先聯繫客服詢問: (1)客製化之商品。 (2)買斷不退之商品。 (3)報紙、期刊或雜誌。 (4)經消費者拆封之影音商品或電腦軟體。 (5)下載版軟體、資訊及電子書。 (6)涉及個人衛生,並經消費者拆封之商品,如:內衣褲、刮鬍刀…等。 (7)藝文展覽票券、藝文表演票券。 (8)易於腐敗、保存期限較短或解約時即將逾期。 2.退貨退款詳細說明: (1)如欲退貨,請在鑑賞期內將商品連同發票寄回,每張訂單限退一次。 (2)退換貨政策:請在收到商品後,立刻檢查商品是否正確,如果有問題或瑕疵,請於7天猶豫期內完成退換貨申請手續。辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 (3)退款說明:請您填寫退貨退款書,若您採信用卡付款,由客服人員辦理刷退手續。若採其他付款方式,我們會將退款,匯款至指定帳戶。以上需要14個工作天。 (4)退貨退款書請至【客服中心】點選『退換商品】的說明中下載。
1.每日09:00前截止訂單,包含出貨通知、缺書通知等。 3.上午9:00點以前下單,可在當日下午17:00以後,查詢出貨進度。例假日除外 4.上午9:00以後在下單,需在隔日17:00以後,方能查詢訂單出貨進度。例假日除外 5.當你使匯款或轉帳時,請務必提供帳戶末5碼之資訊,請拍照email或傳真給我方,否則須等與銀行確認後,才能出貨。 6.出貨是以下單時間為出貨先後的順序,也就是請先下單再查詢庫存,因為就算查完庫存,也可能無法先為你保留書籍(政府出版品因受限於採購程序,平均補貨作業時間約 2~6週)。
|
|
|
|
|
|
 |
這樣寫code好不好?辨識、分析、改善,寫出易讀易維護的程式碼
出版日期:2024-10-09
ISBN:9789863128083
定價:630元
特價:90折!567元
參考分類(CAT):
參考分類(CIP): 數值分析