獲取下載鏈接
標籤
本書是編程大師“Bob大叔”40餘年編程生涯的心得體會的總結,講解要成為真正專業的程序員需要具備什麼樣的態度,需要遵循什麼樣的原則,需要採取什麼樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為後來者引路,助其職業生涯邁上更高臺階。
必讀引言1 第1章 專業主義 7 1.1 清楚你要什麼 8 1.2 擔當責任 8 1.3 首先,不行損害之事 10 1.3.1 不要破壞軟件功能 10 1.3.2 不要破壞結構 12 1.4 職業道德 13 1.4.1 瞭解你的領域 14 1.4.2 堅持學習 16 1.4.3 練習 16 1.4.4 合作 17 1.4.5 輔導 17 1.4.6 瞭解業務領域 17 1.4.7 與僱主/客戶保持一致 18 1.4.8 謙遜 18 1.5 參考文獻 18 第2章 說“不” 19 2.1 對抗角色 21 2.2 高風險時刻 24 2.3 要有團隊精神 25 2.3.1 試試看 26 2.3.2 消極對抗 28 2.4 說“是”的成本 30 2.5 如何寫出好代碼 35 第3章 說“是” 37 3.1 承諾用語 39 3.1.1 識別“缺乏承諾”的徵兆 40 3.1.2 真正的承諾聽起來是怎樣的 40 3.1.3 總結 43 3.2 學習如何說“是” 43 3.2.1 “試試”的另一面 43 3.2.2 堅守原則 44 3.3 結論 46 第4章 編碼 47 4.1 做好準備 48 4.1.1 凌晨3點寫出的代碼 49 4.1.2 焦慮時寫下的代碼 50 4.2 流態區 51 4.2.1 音樂 52 4.2.2 中斷 53 4.3 阻塞 53 4.4 調試 55 4.5 保持節奏 57 4.5.1 知道何時應該離開一會 58 4.5.2 開車回家路上 58 4.5.3 洗澡 58 4.6 進度延遲 58 4.6.1 期望 59 4.6.2 盲目衝刺 59 4.6.3 加班加點 60 4.6.4 交付失誤 60 4.6.5 定義“完成” 61 4.7 幫助 61 4.7.1 幫助他人 61 4.7.2 接受他人的幫助 62 4.7.3 輔導 62 4.8 參考文獻 63 第5章 測試驅動開發 65 5.1 此事已有定論 66 5.2 TDD的三項法則 67 5.3 TDD的優勢 68 5.3.1 確定性 68 5.3.2 缺陷注入率 68 5.3.3 勇氣 69 5.3.4 文檔 69 5.3.5 設計 70 5.3.6 專業人士的選擇 70 5.4 TDD的侷限 70 5.5 參考文獻 71 第6章 練習 73 6.1 引子 73 6.1.110的22次方 74 6.1.2 轉變 75 6.2 編程柔道場 76 6.2.1 卡塔 77 6.2.2 瓦薩 78 6.2.3 自由練習 78 6.3 自身經驗的拓展 79 6.3.1 開源 79 6.3.2 關於練習的職業道德 79 6.4 結論 80 6.5 參考文獻 80 第7章 驗收測試 81 7.1 需求的溝通 81 7.1.1 過早精細化 83 7.1.2 遲來的模糊性 83 7.2 驗收測試 85 7.2.1 “完成”的定義 85 7.2.2 溝通 88 7.2.3 自動化 88 7.2.4 額外工作 89 7.2.5 驗收測試什麼時候寫,由誰來寫 90 7.2.6 開發人員的角色 90 7.2.7 測試的協商與被動推進 91 7.2.8 驗收測試和單元測試 93 7.2.9 圖形界面及其他複雜因素 93 7.2.10 持續集成 94 7.3 結論 95 第8章 測試策略 97 8.1 QA應該找不到任何錯誤 98 8.1.1 QA也是團隊的一部分 98 8.1.2 需求規約定義者 98 8.1.3 特性描述者 98 8.2 自動化測試金字塔 98 8.2.1 單元測試 99 8.2.2 組件測試 100 8.2.3 集成測試 100 8.2.4 系統測試 101 8.2.5 人工探索式測試 102 8.3 結論 102 8.4 參考文獻 102 第9章 時間管理 103 9.1 會議 104 9.1.1 拒絕 104 9.1.2 離席 105 9.1.3 確定議程與目標 105 9.1.4 立會 106 9.1.5 迭代計劃會議 106 9.1.6 迭代回顧和DEMO展示 107 9.1.7 爭論/反對 107 9.2 注意力點數 108 9.2.1 睡眠 108 9.2.2 咖啡因 108 9.2.3 恢復 109 9.2.4 肌肉注意力 109 9.2.5 輸入與輸出 109 9.3 時間拆分和番茄工作法 110 9.4 要避免的行為 110 9.5 死衚衕 111 9.6 泥潭 111 9.7 結論 112 第10章 預估 113 10.1 什麼是預估 115 10.1.1 承諾 115 10.1.2 預估 115 10.1.3 暗示性承諾 117 10.2 PERT 118 10.3 預估任務 120 10.4 大數定律 122 10.5 結論 123 10.6 參考文獻 123 第11章 壓力 125 11.1 避免壓力 127 11.1.1 承諾 127 11.1.2 保持整潔 127 11.1.3 危機中的紀律 128 11.2 應對壓力 128 11.2.1 不要驚慌失措 128 11.2.2 溝通 129 11.2.3 依靠你的紀律原則 129 11.2.4 尋求幫助 129 11.3 結論 129 第12章 協作 131 12.1 程序員與人 133 12.1.1 程序員與僱主 133 12.1.2 程序員與程序員 135 12.2 小腦 137 12.3 結論 138 第13章 團隊與項目 139 13.1 只是簡單混合嗎 139 13.1.1 有凝聚力的團隊 140 13.1.2 如何管理有凝聚力的團隊 141 13.1.3 項目承包人的困境 142 13.2 結論 142 13.3 參考文獻 143 第14章 輔導、學徒期與技藝 145 14.1 失敗的學位教育 145 14.2 輔導 146 14.2.1 DIGI—COMPI,我的第一臺計算機 146 14.2.2 高中時代的ECP—18148 14.2.3 非常規輔導 150 14.2.4 艱難的錘鍊 150 14.3 學徒期 151 14.3.1 軟件學徒期 152 14.3.2 現實情況 154 14.4 技藝 154 14.5 結論 155 附錄 工具 157
《區塊鏈原理、設計與應用》
本書由超級賬本核心設計和開發者撰寫,是區塊鏈開發落地專業指南。由淺入深,系統化介紹超級賬本Fabric設計精華、應用開發等。全書分為理論篇和實踐篇兩大部分;第1~3章介紹區塊鏈技術的由來、核心思想及典型的應用場景;第4~5章重點介紹區塊鏈技術中大量出現的分佈式系統技術和密碼學安全技術;第6~8章介紹...
查看詳情 →《代碼大全2(紀念版)》
《軟件開發》雜誌Jolt大獎 大而全,洞悉軟件構建精髓 優而先,兼顧行業實踐研究 奠定硬核技術領導力的經典 庸常變身卓越的實用性指導 《代碼大全2》是著名科技類作家史蒂夫·麥康奈爾的經典著作,是一本完整的軟件構建手冊,涵蓋了軟件構建過程中的所有細節。它從軟件質量和編程思想等方面論述了軟件構建的各個問...
查看詳情 →《程序員的數學思維修煉(趣味解讀)》
本書是一本專門為程序員而寫的數學書,介紹了程序設計中常用的數學知識。本書門檻不高,不需要讀者精通很多高深的數學知識,只需要讀者具備基本的四則運算、乘方等數學基礎知識和日常生活中的基本邏輯判斷能力即可。本書拒絕枯燥乏味的講解,而是代之以輕鬆活潑的風格。書中列舉了大量讀者都很熟悉,而且非常有趣的數學實例...
查看詳情 →《寫給所有人的編程思維》
你是否曾好奇,那些神秘莫測的數字、符號和代碼背後,究竟蘊藏著怎樣的力量?其實,它們只是冰山一角。真正的“編程思維”,是一場關於創造力與解決問題的冒險,一次將抽象思想具象化的華麗舞步! 從久遠的過去到可見的未來,驅動編程語言脈搏跳動的,並非冰冷的機器指令,而是一套深植於計算機科學、邏輯與數學基石的核...
查看詳情 →