- 代碼的藝術(shù):用工程思維驅(qū)動軟件開發(fā)
- 章淼
- 772字
- 2022-05-05 21:55:48
推薦序三
眾所周知,Knuth大師寫了《計算機程序設(shè)計藝術(shù)》一書,他認為編程是一種藝術(shù)活動,理由是我們還無法自動編程,同時編程本身蘊含了優(yōu)雅、美麗、美學(Elegance、Beauty、Aesthetics)。福樓拜曾說過:“科學和藝術(shù)總在山頂重逢。”本書一以貫之,鼓勵軟件工程師培養(yǎng)代碼品位、追求“代碼藝術(shù)家”(Code Artist)的境界。以“碼農(nóng)”自嘲的程序員,其實是這個時代很fashion的人。
不要被“藝術(shù)”這個字眼嚇到,本書講的是實戰(zhàn)。作者基于多年在產(chǎn)品項目實踐和公司內(nèi)外培訓中對各種誤區(qū)、問題的觀察,并在軟件工程師需具備的10點素質(zhì)能力中抽出了其中3點形成本書。讀者若能對其中的建議踐行不輟,必可習慣成自然,在軟件開發(fā)的路上留下堅實的腳印。
我的主要工作聚焦于測試和研發(fā)效能,書中關(guān)于代碼、文檔、項目管理三件事的思考和總結(jié),我深以為然。代碼質(zhì)量不是測出來的,而是內(nèi)建的,從業(yè)者理應(yīng)加大在缺陷預防方面的投入(包括但不限于代碼評審、單元測試等);文檔是產(chǎn)品長期可維護的關(guān)鍵,但現(xiàn)實情況是,它總跟不上代碼的步伐,有個段子說,程序員最討厭的四件事是“寫注釋、寫文檔、別人不寫注釋、別人不寫文檔”;項目管理者們(包括RD)面對DDD(Deadline Driven Development,戲稱為“上吊繩驅(qū)動的開發(fā)”)疲于奔命。
互聯(lián)網(wǎng)系統(tǒng)越來越龐大,當快速迭代證明了業(yè)務(wù)可行性并實現(xiàn)了業(yè)務(wù)增長以后,巨大的代碼資產(chǎn)庫變得極端復雜。還有個段子說:“世界上最遙遠的距離不是生與死,而是你親手制造的BUG就在你眼前,你卻怎么都找不到它。”面對軟件開發(fā)的根本性困難(復雜性、非一致性、易變性和不可見性),我們需要Back to Basics(回到根本),那些基本守則永遠不會過時。實際上,很多公司仍在為了落地這些簡單的規(guī)則而努力。
《代碼的藝術(shù)》這本書寫作風格樸實無華、內(nèi)容深入淺出,書中有方法有案例,相信軟件工程領(lǐng)域不同背景的讀者都能從中受益。非常期待作者在工程能力方面的更多作品問世。
李中杰
高德研發(fā)效能中心負責人
- 精通COBOL:大型機商業(yè)編程技術(shù)詳解(修訂版)
- Swift開發(fā)實戰(zhàn)
- AIDevOps:智能微服務(wù)開發(fā)、運維原理與實踐
- 軟件秘笈:設(shè)計模式那點事
- Verilog HDL數(shù)字系統(tǒng)設(shè)計及實踐
- HTML5游戲編程核心技術(shù)與實戰(zhàn)
- 內(nèi)容理解:技術(shù)、算法與實踐
- 持續(xù)交付2.0:業(yè)務(wù)引領(lǐng)的DevOps精要(增訂本)
- Android性能優(yōu)化入門與實戰(zhàn)
- MATLAB函數(shù)速查手冊(修訂版)
- 火災(zāi)與逃生模擬仿真:PyroSim+Pathfinder中文教程與工程應(yīng)用
- 移動設(shè)計
- Serverless核心技術(shù)和大規(guī)模實踐
- 基于EEG的腦源定位與腦功能網(wǎng)絡(luò)
- 大話軟件工程案例篇:項目與產(chǎn)品開發(fā)實戰(zhàn)