读书笔记2014第4本:程序员修炼之道-从小工到专家(第一章)
《程序員修煉之道-從小工到專家》是一本1999年寫的老書,但15年之后,書中的許多道理依然沒變,時(shí)不時(shí)拿出一章咀嚼一下仍有許多可回味之處。
第一章 注重實(shí)效的哲學(xué)
1、我的源碼讓貓給吃了
在所有的弱點(diǎn)中,最大的弱點(diǎn)就是害怕暴露弱點(diǎn)。程序員整天與最后期限、BUG打交道,不可能不犯錯(cuò)誤,一個(gè)軟件項(xiàng)目中還有許多因素根本就不是程序員所控制的,所以項(xiàng)目延期、BUG激增、需求不斷涌現(xiàn)都是常有的事。出現(xiàn)這些問題時(shí),勇敢地承認(rèn)它,而不是尋找借口,不斷嘗試原型、測試、重構(gòu)、自動(dòng)化等手段來解決這些問題才是程序員的王道。
2、軟件的熵
“宇宙中的熵總是傾向于最大化”,從多本書遇到熵這個(gè)概念了,現(xiàn)在慢慢有些認(rèn)識了?!办亍眮碓从谖锢韺W(xué)的概念,是指系統(tǒng)中“無序”的總量,以前在研究數(shù)據(jù)壓縮時(shí)也遇到了熵的概念,熵越大說明信息越雜亂,越不容易壓縮。軟件出現(xiàn)無序增長時(shí),說明軟件在腐爛,程序員的工作就是不讓軟件的熵變大。
“破窗戶理論”在軟件中要引起重視,當(dāng)項(xiàng)目組遇到了破窗戶(低劣的設(shè)計(jì)、錯(cuò)誤的決策、糟糕的代碼)而不修,很快它會(huì)迅速惡化。而反之,項(xiàng)目組的代碼一直處于優(yōu)雅可控的狀態(tài)時(shí),團(tuán)隊(duì)中每個(gè)人都不忍心把它弄臟。
所以說,發(fā)現(xiàn)了“破窗戶”要馬上修理,如果實(shí)在沒時(shí)間處理,也要把它釘起來,加上“TODO:任務(wù)標(biāo)記”,拋出未實(shí)現(xiàn)的異常等等,一旦有空要及時(shí)處理它們。
3、石頭湯與煮青蛙
有些事情先做起來再說,請求原諒比獲取許可更容易,有點(diǎn)先斬后奏的勇氣。項(xiàng)目之初想好大的圖景,我想是指“設(shè)計(jì)哲學(xué)”吧,不要被日后的補(bǔ)丁把整個(gè)系統(tǒng)弄得體無完膚。
4、足夠好的軟件
軟件不可能完美,不要過分設(shè)計(jì),畫蛇添足。以前做的三維可視化想著能夠跨平臺(tái)而選擇了Qt,但從寫第一行代碼起到最后項(xiàng)目驗(yàn)收,也沒有把這些代碼在Unix系統(tǒng)中編譯過,無形中給項(xiàng)目增加了復(fù)雜度和工作量。軟件是給用戶使用的,要多問問用戶,讓他們及早使用來獲得反饋。編程就像繪畫,不要因?yàn)檫^度修飾和過于求精而毀損完好的程序。
5、你的知識資產(chǎn)
管理程序員的知識資產(chǎn)與管理金融資產(chǎn)非常相似,要定期投資、多元化、管理風(fēng)險(xiǎn)、低買高賣、重新評估和平衡。
1)每年至少學(xué)習(xí)一種新語言
2)閱讀技術(shù)書籍(書店中醒目位置的書不一定是好書,可能只是付了錢才放在那里)
3)也要閱讀非技術(shù)書籍
4)上課
5)參加本地用戶組織
6)試驗(yàn)不同的編程環(huán)境
7)跟上潮流
8)上網(wǎng)
這些都需要時(shí)間,學(xué)會(huì)利用碎片時(shí)間。
最后一段提到與古魯打交道的技巧,我不知道古魯是什么,猜可能是Guru吧,現(xiàn)在不用usenet,直接google后,實(shí)在沒有答案,就把問題發(fā)到stackoverflow,很快就會(huì)有專家輕易地把你的問題解決了。
6、交流
我感覺有用的是:讓文檔美觀和電子郵件交流的注意事項(xiàng)。
?
第一章 注重實(shí)效的哲學(xué)
第二章 注重實(shí)效的途徑
第三章 基本工具
第四章 注重實(shí)效的偏執(zhí)
第五章:彎曲或折斷
第六章:當(dāng)你編碼時(shí)
第七、八章?
本文轉(zhuǎn)自申龍斌的程序人生博客園博文,原文鏈接:http://www.cnblogs.com/speeding/p/3657503.html,如需轉(zhuǎn)載請自行聯(lián)系原作者
http://www.cnblogs.com/speeding/?
總結(jié)
以上是生活随笔為你收集整理的读书笔记2014第4本:程序员修炼之道-从小工到专家(第一章)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从《构建之法:现代软件工程》走进软件工程
- 下一篇: 不是吧,你还只会用@Service注册B