先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)

Kent Beck 藍子軒 譯

  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-1
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-2
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-3
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-4
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-5
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-6
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-7
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-8
  • 先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-9
先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)-preview-1

買這商品的人也買了...

相關主題

商品描述


讓程式碼重獲新生

一大堆凌亂的程式碼,我應該要直接修改,還是《先整理一下?》......

凌亂的程式碼是每位開發者的挑戰與痛苦根源,新手與資深工程師都曾在複雜結構面前無從下手。而程式碼的清晰與結構優雅,卻是軟體可維護性與可擴展性的關鍵。

有了這本書,你將不再懼怕那些讓人抓狂的程式碼,學會如何以安全又有效的方式處理它們,同時改變你看待軟體設計的方式。

程式設計大師 Kent Beck 將其深厚的開發經驗,梳理成簡單明瞭的範例,讓我們在不改變系統功能的前提下,逐步學會清理程式碼、優化結構,進而提升整體設計水準。

這本書,不只是為了「整理」,更是為了讓每位開發者重新找回創作的信心與樂趣。

--------------------------------------

「設計就是我們用程式碼所繪製出來的形狀,Kent則幫助我們繪製出更好的形狀。 這是一本談論重要主題的重要書籍。」
——Dave Farley / Continuous Delivery有限公司創辦人兼董事

「本書針對各種不同程度的開發人員,提供了許多實用的技巧,可協助大家改進手邊正在處理的各種程式碼。」
——Sam Newman / 獨立顧問、技術專家,同時也是《建構微服務》和《單體式系統到微服務》這兩本書的作者

「《先整理一下?》這本書裡的想法其實都很簡單,但當你讀到這些想法時,心裡一定很想知道,為什麼這麼多想法自己從來都沒想過。 我要推薦這本書,給所有在意程式碼乾不乾淨、可讀性好不好的人。」
——Gergely Orosz / The Pragmatic公司的工程師


亂七八糟的程式碼,處理起來最麻煩了。為了讓程式碼更容易讀懂,「整理」程式碼時經常要把程式碼切成好幾塊。在這本實務指南中,身為極限程式設計創造者與軟體模式先驅者的作者Kent Beck 建議我們,可以在何時何地去整理程式碼,以提高程式碼的品質,同時兼顧系統的整體結構。

本書並不會一下子就要你掌握所有的整理技巧,而是讓你先去嘗試一些對你的問題很有意義的範例。 如果你有一個很大的函式,其中包含許多行的程式碼,你要先學會如何把它合理切分成許多比較小的程式碼片段。在閱讀本書的過程中,你就能學會軟體設計背後的理論:耦合、內聚、現金流的折現效應以及選擇性等概念。

本書將會協助你:
.瞭解軟體設計的基本原理,以及各種會影響軟體設計的力量。
.針對系統在行為上與架構上的改變,探索這兩者之間的差異。
.改善你的程式設計體驗:有時可以先做整理,有時可以後做整理。
.學會如何把一些比較大的改變,拆解成比較小、比較安全的好幾個步驟。
.把軟體設計當成人類關係的一種課題。

作者簡介

Kent Beck 是「極限程式設計」(Extreme Programming)的創建者,同時也是軟體模式的先驅、JUnit的共同作者、測試驅動開發(Test-Driven Development)的重新發現者,以及3X: Explore/Expand/Extract(探索/擴展/提取)的觀察家。他也是《敏捷宣言(Agile Manifesto)的第一位簽署者(按照字母順序)。Kent住在加州舊金山,擔任Mechanical Orchard的首席科學家,他經常會傳授一些技能,協助極客們能夠在這個世界上感覺到更加安心。

目錄大綱

引言
前言
簡介

第一部分 整理
第1章 守衛語句(Guard Clause)
第2章 沒用到的死程式碼 (Dead Code)
第3章 用同樣的寫法做同樣的事 (Normalize Symmetries)
第4章 舊的實作方式,搭配新介面 (New Interface, Old Implementation)
第5章 閱讀順序
第6章 內聚順序
第7章 把宣告與初始化放在一起
第8章 具有解釋效果的變數
第9章 具有解釋效果的常數
第10章 明確的參數
第11章 把程式碼切成一塊一塊的
第12章 提取輔助函式
第13章 堆成一堆
第14章 具有解釋效果的註解說明
第15章 刪除掉多餘的註解

第二部分 管理
第16章 把整理工作切分出來
第17章 連鎖效應
第18章 每批所包含的整理數量
第19章 節奏
第20章 解開糾纏
第21章 先做、後做、晚點再去做、完全不做

第三部分 理論
第22章 讓元素以有益的方式關聯起來
第23章 結構與行為
第24章 經濟學 - 時間價值與選擇性
第25章 今天的一美元大於明天的一美元
第26章 選擇權
第27章 選擇權 vs. 現金流
第28章 結構上可逆的改變
第29章 耦合
第30章 Constantine 等式
第31章 耦合與解耦
第32章 內聚
第33章 結論

附錄:相關的閱讀清單和參考文獻
索引