程序員的底層思維

張建飛

  • 出版商: 電子工業
  • 出版日期: 2022-02-01
  • 售價: $774
  • 貴賓價: 9.5$735
  • 語言: 簡體中文
  • 頁數: 404
  • ISBN: 7121429772
  • ISBN-13: 9787121429774
  • 相關分類: 程式語言軟體工程
  • 立即出貨 (庫存 < 4)

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

商品描述

本書涵蓋程序員應知應會的16種思維能力,共18章,分為三部分。第一部分主要介紹抽象思維、邏輯思維、結構化思維、批判性思維、維度思維、分類思維、分治思維、簡單思維,以及成長型思維等解決日常問題的基礎思維能力。第二部分結合軟件行業的特點,主要介紹解耦思維、契約思維、模型思維、工具化思維、量化思維、數據思維,以及產品思維等專業思維能力。第三部分主要是對上述思維能力的綜合運用實踐。

目錄大綱

#一部分 基礎思維能力

01 抽象思維 2

1.1 抽象= 抽離+ 具象 3

1.2 抽像是哲學思維的基礎 4

1.3 語言的抽象性 5

1.4 軟件設計中的抽象 7

1.4.1 面向對象的核心是抽象 7

1.4.2 抽象設計的評判標準 8

1.4.3 抽象缺失之基礎類型偏執 9

1.4.4 抽象缺失之重複代碼 12

1.4.5 抽象設計要完整 14

1.4.6 不要為了抽象而抽象 15

1.5 抽象的層次性 17

1.5.1 對抽象層次的權衡 17

1.5.2 軟件中的分層抽象 20

1.5.3 強制類型轉換中的抽象層次問題 22

1.5.4 抽象層次一致性原則 24

1.6 鍛煉抽象思維能力 28

1.7 精華回顧 30

參考文獻 30

02 邏輯思維 31

2.1 邏輯就是關係 32

2.2 邏輯三要素之概念 33

2.2.1 概念要明確且清晰 34

2.2.2 制定團隊通用語言 35

2.2.3 管理者的概念技能 36

2.3 邏輯三要素之判斷 37

2.4 邏輯三要素之推理 38

2.4.1 演繹推理:因為,因為,所以 38

2.4.2 歸納推理:從特殊到一般 40

2.4.3 溯因推理:大膽假設,小心求證 41

2.5 邏輯鏈 42

2.5.1 5Why思考法 43

2.5.2 5So思考法 44

2.6 邏輯謬誤 45

2.6.1 偷換概念 46

2.6.2 錯誤假設 46

2.6.3 循環論證 47

2.6.4 以偏概全 48

2.6.5 滑坡謬誤 48

2.7 非理性思考 49

2.8 精華回顧 50

參考文獻 50

03 結構化思維 51

3.1 結構與架構 51

3.2 從無序到有序 52

3.3 金字塔結構 54

3.4 金字塔中的邏輯 57

3.4.1 縱向邏輯關係 58

3.4.2 橫向邏輯關係 60

3.5 如何搭建結構 64

3.5.1 自上而下 65

3.5.2 自下而上 66

3.5.3 上下結合 70

3.6 更多結構思維框架 71

3.7 精華回顧 73

04 批判性思維 74

4.1 理解批判 75

4.2 批判中台 77

4.2.1 中台的底層邏輯 77

4.2.2 業務中台為何低效 77

4.2.3 解決中台的困境 79

4.3 批判架構師 82

4.3.1 尷尬的架構師 83

4.3.2 尷尬的架構部門 83

4.3.3 人人都是架構師 84

4.4 批判技術管理者 85

4.4.1 技術不作為 86

4.4.2 業務不思考 87

4.4.3 脾氣火爆 87

4.5 自我批判 87

4.6 精華回顧 89

參考文獻 89

05 維度思維 90

5.1 維度究竟是什麼 90

5.2 多維度思考 91

5.3 不做if else程序員 93

5.3.1 多態擴展 94

5.3.2 代碼分離 95

5.3.3 矩陣分析 96

5.3.4 殊途同歸 98

5.4 無處不在的矩陣分析 99

5.4.1 波士頓矩陣 99

5.4.2 訂單要素分析 100

5.4.3 RFM模型 101

5.4.4 邏輯推理中的矩陣 103

5.4.5 相關係數矩陣 104

5.5 設計模式中的維度思維 105

5.6 組織管理中的維度思維 109

5.6.1 人員分工矩陣 109

5.6.2 人才盤點矩陣 110

5.6.3 需求管理矩陣 110

5.7 精華回顧 111

06 分類思維 112

6.1 分類是本能 112

6.2 分類無處不在 113

6.3 分類的本質 114

6.3.1 尋找共同屬性 114

6.3.2 經典分類與概念聚集分類 115

6.3.3 多種多樣的分類角度 116

6.4 沒有“完#美”分類 117

6.5 軟件設計中的分類 118

6.5.1 對象分類 118

6.5.2 構建分類 119

6.5.3 領域分類 121

6.6 組織架構中的分類 122

6.6.1 業務型組織 123

6.6.2 職能型組織 124

6.7 互聯網產業分類 125

6.8 精華回顧 127

參考文獻 128

07 分治思維 129

7.1 分治設計模式 129

7.1.1 管道模式 130

7.1.2 責任鏈模式 133

7.2 分佈式系統 138

7.2.1 軸拆分 139

7.2.2 y軸拆分 140

7.2.3 z軸拆分 140

7.2.4 yz軸拆分對比 142

7.3 分治算法 142

7.4 解決問題的黃金三步 143

7.5 “分治並”的應用 144

7.5.1 流式計算 145

7.5.2 分佈式數據庫 146

7.6 精華回顧 149

參考文獻 149

08 簡單思維 150

8.1 簡化是逆向做功 151

8.1.1 壓縮、隱藏與賦予 151

8.1.2 減少選擇 152

8.1.3 奧卡姆剃刀 155

8.2 幹掉流程引擎 156

8.3 極簡狀態機的實現 157

8.3.1 領域專用語言的分類 158

8.3.2 極簡狀態機的模型設計 159

8.3.3 連貫接口設計 161

8.3.4 無狀態設計 164

8.3.5 極簡狀態機的使用 165

8.4 COLA的壯士斷腕 166

8.5 複雜的產品沒人用 167

8.6 精華回顧 169

09 成長型思維 170

9.1 走過至暗時刻 170

9.2 成長型思維與固定型思維 171

9.3 大腦的可塑性 173

9.4 培養成長型思維 174

9.4.1 明確努力的意義 175

9.4.2 改變歸因習慣 175

9.4.3 擺脫精神內耗 176

9.4.4 持續精進 178

9.4.5 保持好奇心 179

9.4.6 守住ping常心 180

9.4.7 慢也是快 181

9.4.8 掌握表揚的技巧 182

9.5 成功人士的成長型思維 184

9.6 精華回顧 185