閱讀筆記:Good Code, Bad Code Chapter 2 Layers of abstraction

總結

此篇文章是 Good Code, Bad Code: Think like a software engineer 第二章(Layers of abstraction)的閱讀筆記。此章重點為:

筆記

為何需要抽象層

How we structure code is one of the most fundamental aspects of code quality, and doing it well often comes down to creating clean layers of abstraction.

本書作者認為程式碼的結構乃是影響程式碼品質最基礎的要素之一,而如果一段程式碼擁有良好的結構,通常代表該程式碼擁有明確的抽象層。

More generally, if we do a good job of recursively breaking a problem down into subproblems and creating layers of abstraction, then no individual piece of code will ever seem particularly complicated, because it will be dealing with just a few easily comprehended concepts at a time.

工程師在解決問題時,通常會將一開始的問題分拆為數個小問題各自擊破。對工程師來說,將大問題分拆為小問題會讓我們一次只需要面對原始問題的「一小部分」,這能降低每一道問題的複雜度與難度。

結論:良好的抽象層規劃,能讓原本複雜的問題變簡單。一個大問題一旦被分解,工程師在理解(為了解決每一個小問題的)程式碼時也會比較輕鬆,因為每一次需要面對的問題其規模都變小了。

抽象層如何提升程式碼的品質

本書認為抽象層能夠強化程式碼的以下特性:

實作要訣

參考文件