卓越程序員密碼(The Developer's Code) 總結(jié)

本書作者:Ka Wai Cheung
花了幾個(gè)小時(shí)把本書閱覽了一遍订框,然后把個(gè)人覺得重要的一些方面做下記錄。
這是一個(gè)Web程序員,設(shè)計(jì)師寫的關(guān)于項(xiàng)目和編碼方面的一些經(jīng)驗(yàn)和建議。

本文是我自己個(gè)人根據(jù)本書提綱做的一些自我總結(jié)

1. 我們在處理代碼時(shí)需要注意的一些問題

  • 規(guī)劃完備灭将,再開工:
    當(dāng)我們拿到一個(gè)項(xiàng)目,或者一個(gè)只有模糊概念的想法的時(shí)候后控,我們第一階段要做的不是立馬開始寫代碼庙曙,而是弄清楚需求,再需求和項(xiàng)目經(jīng)理或者客戶確認(rèn)的前提下浩淘,開始做第一次嘗試(即生成一個(gè)雖然不完美捌朴,但是可以實(shí)現(xiàn)功能的版本)如此迭代。
  • 丟掉舊代碼:
    丟棄那些埋藏在代碼中张抄,影響你觀看當(dāng)前代碼砂蔽,可能是之前老想法的注釋代碼,因?yàn)檫@些占用了你的代碼空間署惯,而且不一定會(huì)用到左驾。周期性對這些代碼進(jìn)行辨別和刪除。
  • 魚和熊掌可以兼得:
    項(xiàng)目代碼一般涉及好幾個(gè)方面的內(nèi)容极谊,可能你只是精通一塊什荣,但是為什么你不能都精通呢?其實(shí)是可以的怀酷,根據(jù)專家理論稻爬,當(dāng)你在一個(gè)領(lǐng)域精通的時(shí)候,你去學(xué)習(xí)其他相關(guān)領(lǐng)域相對會(huì)變得容易的蜕依。所以桅锄,首先,我們要在某個(gè)方面變成專家样眠,然后友瘤,在過程中對其他的相關(guān)領(lǐng)域保持持續(xù)學(xué)習(xí)熱情。

2.工作的動(dòng)力和保持效率

  • 動(dòng)力驅(qū)動(dòng):
    寫代碼是一項(xiàng)需要?jiǎng)?chuàng)造力的勞動(dòng)檐束,如果你沒有動(dòng)力辫秧,也會(huì)失去創(chuàng)造力和執(zhí)行力。所以我們要從工作本身來獲得動(dòng)力被丧。對某個(gè)項(xiàng)目/模塊的喜歡盟戏,對某個(gè)模塊攻克的成就感绪妹,等等,這些都會(huì)是我們工作的動(dòng)力柿究。但是注意邮旷,在其過程中,追求完美是好的蝇摸,切記太過婶肩,畢竟產(chǎn)品是有時(shí)間限制的,沒有完美的產(chǎn)品貌夕,只有不斷打磨的產(chǎn)品律歼。
  • 保持精力:
    為了讓工作有動(dòng)力和激情,你需要保持自己的精力啡专。休息會(huì)是補(bǔ)充你體力的一劑良藥苗膝,一邊吃飯一邊寫代碼并不會(huì)提高你的代碼效率。有技巧的休息植旧,運(yùn)動(dòng)來提高和保持自己的精力才是辱揭。
  • 清醒時(shí)的工作次序:
    我們可以在頭腦比較清醒的時(shí)候做一些測試,或者說難的模塊的構(gòu)建病附。因?yàn)楫?dāng)我們寫了一天代碼的時(shí)候问窃,容易陷入固有邏輯,而忽略一些邊界等問題完沪,所以在頭腦清醒的時(shí)候測試是比較好的選擇域庇。一般是睡了一覺之后的清晨。
  • 第一印象未必準(zhǔn)確:
    產(chǎn)品給人的第一印象未必是好的覆积,但是不能因?yàn)檫@個(gè)第一印象就直接進(jìn)入自我否定听皿。
    不好的原因一般有兩個(gè):1.不熟悉 2.關(guān)注了次要問題。
    你要堅(jiān)持自己的想法宽档,然后和客戶溝通一些設(shè)計(jì)原理和用法尉姨,并讓其適應(yīng)幾天。如果有問題吗冤,那只需對軟件進(jìn)行修改又厉,但是最初的負(fù)面印象一般都會(huì)消失。

3.生產(chǎn)力

  • 警惕沒有時(shí)間線的消閑項(xiàng)目:
    所謂消閑項(xiàng)目椎瘟,就是你有個(gè)想法覆致,并用代碼實(shí)現(xiàn),但是你并沒有設(shè)定時(shí)間線肺蔚,有時(shí)間就做煌妈,沒時(shí)間就不做,這種項(xiàng)目很容易就變成爛尾。時(shí)間就是一切璧诵,你對手上項(xiàng)目的了解度也會(huì)隨著擱置的時(shí)間長度而變生疏汰蜘。解決方法:1.設(shè)定可持續(xù)的日工作量(每日間隔不能超過一天)2.完成時(shí)間也需要預(yù)設(shè)一個(gè)時(shí)間用來進(jìn)行測試 3.我們的時(shí)間是“夠用”。在設(shè)定的時(shí)間內(nèi)腮猖,我們產(chǎn)出一個(gè)基本夠用無需完美的軟件
    4.在完成了夠用的軟件后鉴扫,我們對后期的功能增添和問題修改再設(shè)定時(shí)間線赞枕,然后如此循環(huán)澈缺。
    第一步的產(chǎn)出夠用軟件時(shí)間設(shè)定很重要
  • 設(shè)定原則:
    我們要設(shè)定各種限制因素,時(shí)間屿衅,資源等蜕琴,如果沒有限定厚柳,那么項(xiàng)目結(jié)果并不會(huì)好。
    設(shè)定時(shí)間的時(shí)候项滑,我們不需要對特別小的細(xì)節(jié)設(shè)定精確時(shí)間,只要模塊或者整體交付時(shí)間即可滿足要求涯贞。太細(xì)了會(huì)影響開發(fā)的發(fā)揮枪狂。
  • 二是個(gè)神奇的數(shù)字:
    每天改進(jìn)產(chǎn)品的兩個(gè)方面,是個(gè)神奇的數(shù)字宋渔,一太少太輕州疾,三太多太重,二可以被我們很容易的接受和做到皇拣。
  • 設(shè)定免打擾時(shí)間:
    整塊的不被切碎的時(shí)間可以讓你更有效率的思考和工作严蓖,所以設(shè)置免打擾時(shí)間段也是提高效率的一種方法。比如氧急,每天上午颗胡,下午,晚上吩坝,分別劃分一個(gè)維持2小時(shí)或者一小時(shí)的免打擾時(shí)間段毒姨。這段時(shí)間用來學(xué)習(xí)或者工作,不要被郵件钉寝,信息手素,電話等打斷。
  • 代辦列表清單:
    什么都用腦袋記瘩蚪,會(huì)讓我們的腦袋沉重泉懦,我們把過去,現(xiàn)在疹瘦,未來要做的事列入清單崩哩,每天查看清單并進(jìn)行調(diào)整即可。這會(huì)讓你間歇性遺忘要作什么得到緩解。
  • 工作環(huán)境很重要:
    工作環(huán)境直接影響了你的工作效率邓嘹,所以酣栈,為工作環(huán)境投資是很值得的,這就像用稱手的工具做事會(huì)更有效率是一個(gè)道理汹押。
  • 避免我們:
    我們用詞很容易讓人忽略責(zé)任人矿筝,當(dāng)我們溝通的時(shí)候,用明確的某人棚贾,或者某某團(tuán)隊(duì)來比較有針對性窖维。就像在公眾場合遇到危險(xiǎn),尋求幫助的時(shí)候妙痹,指定某個(gè)特征的人來幫你铸史,會(huì)比說大家?guī)蛶兔淼暮糜谩?em>“我們”會(huì)把當(dāng)事人變成旁觀者,不要小看語言的力量怯伊,
  • 自治小團(tuán)隊(duì):
    熟悉其中人的工作方式且協(xié)調(diào)好的團(tuán)隊(duì)會(huì)讓工作效率更高琳轿,好的團(tuán)隊(duì)會(huì)有好的效率,相應(yīng)的耿芹,差的團(tuán)隊(duì)也是崭篡。

4.控制好復(fù)雜性

  • 變數(shù):
    變數(shù)讓復(fù)雜性不可避免存在于我們的生活中。但是記住吧秕,簡單的才是最好的琉闪,人對簡單的事物有著天生的親切感。
  • 簡單并不簡單:
    雖然我們總是希望事情可以簡單寇甸,但是塘偎,簡單呈現(xiàn)的背后并不簡單,我們要勇于刪除不必要的復(fù)雜性拿霉。但是復(fù)雜性可能是我們來判斷一個(gè)事情高端與否的關(guān)鍵吟秩,我們往往不會(huì)認(rèn)為一個(gè)簡單的想法很有創(chuàng)意。我們要做的是復(fù)雜事情簡單化绽淘,用看似簡單卻又是經(jīng)過一系列判斷和刪選之后的精妙涵防。
    所有美麗的事物都是簡單的,就算看起來復(fù)雜沪铭,也是簡單的結(jié)構(gòu)組合的壮池。一般我們不會(huì)認(rèn)為一團(tuán)雜亂無章又千頭萬緒的線團(tuán)是美麗的。
    不要害怕簡單杀怠,我們會(huì)畏懼簡單而把事情想的復(fù)雜椰憋,可以邏輯復(fù)雜,但是要簡單結(jié)構(gòu)赔退,簡單呈現(xiàn)橙依。記住证舟,90%的人用的都是那10%的簡單功能,要勇于砍掉不必要的資源浪費(fèi)功能窗骑。
  • 難編意味著難用:
    當(dāng)一個(gè)需求來的時(shí)候女责,不要急于設(shè)計(jì),首先要思考這個(gè)需求是否有非代碼就能解決的簡單途徑创译,因?yàn)橛行┬枨笃鋵?shí)不需要代碼抵知。而是需要其他的。比如電梯內(nèi)的時(shí)間软族,與其如何加快電梯到達(dá)的時(shí)間刷喜,不如想想如何使人覺得在電梯里的時(shí)間很快(如安裝鏡子,照鏡子會(huì)讓人覺得時(shí)間很快就過去了)互订。
    而如果用代碼來實(shí)現(xiàn)控制電梯的功能吱肌,這會(huì)是個(gè)復(fù)雜痘拆,而且狀況很多仰禽,且難處理,難使用的功能纺蛆。
  • 重構(gòu)需謹(jǐn)慎:
    當(dāng)我們項(xiàng)目有個(gè)可以執(zhí)行的初稿的時(shí)候吐葵,我們可能會(huì)基于個(gè)人的判斷和對項(xiàng)目后期的把握引入設(shè)計(jì)模式了來對代碼進(jìn)行重構(gòu),以方便后期可能擴(kuò)張的需求和更改的條件桥氏。但是温峭,這里需要注意的是,需求可能并不一定會(huì)像你想象的方向改變字支,你需要謹(jǐn)慎對待你可能是狹隘的設(shè)計(jì)凤藏。這里就要重申,變化堕伪,是一直存在的揖庄。
    有所預(yù)見,但謹(jǐn)慎預(yù)見欠雌。無論大的模式還是小的模式改動(dòng)蹄梢,進(jìn)行重構(gòu)的時(shí)候,都要知道你會(huì)得到什么富俄,失去什么禁炒。

5.教學(xué)不易

  • 好的程序員未必是好的老師:
    當(dāng)我們成為某個(gè)領(lǐng)域的專家時(shí),我們會(huì)忘了霍比,當(dāng)我們對這個(gè)領(lǐng)域一無所知的時(shí)候需要如何快速了解這個(gè)領(lǐng)域的幕袱。
  • 想想初中老師:
    小學(xué)或者初中老師給我們講課的時(shí)候,會(huì)用淺顯易懂的例子來給我們呈現(xiàn)悠瞬。
    對于有些深?yuàn)W的問題们豌,也可能會(huì)給一個(gè)不是那么對,但是可以讓我們有進(jìn)一步了解的認(rèn)值。我們在有認(rèn)值的基礎(chǔ)上繼續(xù)學(xué)習(xí)玛痊,就可以修正我們的認(rèn)知了汰瘫。(我印象特別深刻的是,以前有個(gè)老師擂煞,他說混弥,然后補(bǔ)了一句,雖然這不完全對对省,但是你們先理解這個(gè)蝗拿,以后你們學(xué)到就會(huì)知道的)
  • 為什么:
    試圖讓學(xué)習(xí)者主動(dòng)去了解學(xué)習(xí)模型的原理。從“如何”蒿涎,“什么”到“為什么”哀托。我一直都覺得,在你對一個(gè)事物沒有認(rèn)知的時(shí)候劳秋,你無法提出問題仓手,只有有一定了解了,越了解玻淑,越能提出好問題嗽冒。
    在學(xué)生提出為什么的時(shí)候(通常是他們覺得有更好的辦法),讓他們分析其更好方法的優(yōu)缺點(diǎn)补履。如此添坊,這樣提出的方案會(huì)越來越好。

6.客戶

  • 令人頭大的客戶:
    客戶通常給人的感覺是刁鉆的箫锤,因?yàn)槿绻欠菍I(yè)人士贬蛙,那么他對復(fù)雜度并不了解,只關(guān)心可以看到的產(chǎn)出谚攒。甚至?xí)嵋恍┛雌饋砗唵窝糇迹菍?shí)現(xiàn)起來并不簡單的功能。讓他們對項(xiàng)目的復(fù)雜度了解是很重要的五鲫,同時(shí)也需要進(jìn)行溝通來弄清真實(shí)想法溺职。畢竟,通常人說話的內(nèi)容位喂,未必是真實(shí)想要的內(nèi)容(這個(gè)就是語言和感覺的鴻溝了)浪耘。
  • 軟件的價(jià)值:
    在和客戶打交道過程中,價(jià)值不僅僅就是你提供的軟件塑崖,你在交流過程中七冲,態(tài)度,聲音规婆,是否關(guān)心對方需求澜躺,為對方考慮蝉稳,等等,這都是你的價(jià)值掘鄙。所以耘戚,這不僅僅是個(gè)技術(shù)活,同時(shí)也是雙方了解的過程操漠。面談收津,電話,都會(huì)比郵件浊伙,信息溝通來的管用撞秋。

7.代碼書

  • 拿來主義:
    有很多現(xiàn)成的已經(jīng)實(shí)現(xiàn)了的美妙模塊了來實(shí)現(xiàn)你需要功能的一部分,你僅需要拿過來用就行了嚣鄙。
    只是需要注意的是吻贿,你依舊需要良好的基本功來對模塊底層的原理有所了解,并最好能修改哑子。
    如果只是黑盒使用舅列,我們可能會(huì)錯(cuò)過很多美好的思想。
  • 體力勞動(dòng):
    當(dāng)你發(fā)現(xiàn)你需要做很多重復(fù)的事情的時(shí)候赵抢,你需要警惕剧蹂,你是不是退化成了機(jī)器人声功,只有機(jī)器人才可以不辭辛苦的做重復(fù)的事情烦却,而這些事情就是我們通過編程來幫我們做的。

如果你有很多重復(fù)事項(xiàng)先巴,可以考慮自動(dòng)化:代碼生成其爵,批量處理,腳本控制等等伸蚯。來把重復(fù)事件提煉規(guī)則摩渺,讓程序幫你實(shí)現(xiàn)。

8.形象

  • 面子問題也很重要:
    就像現(xiàn)在流行的美食節(jié)目剂邮,平淡無奇的食材摇幻,在鏡頭的渲染下,變得美味可口挥萌,就簡單的新鮮绰姻,飽滿這些詞都可以讓我們味蕾大開。
    同樣的引瀑,我們的程序無論內(nèi)部代碼寫的再精美狂芋,設(shè)計(jì)再絕倫,如果不能通過某些方式呈現(xiàn)憨栽,并讓人了解帜矾。人們是無法對不知名的黑盒產(chǎn)生欲望的翼虫,就算是好奇心,也是需要通過方法激發(fā)的屡萤。
    要對自己所做的事感到自豪珍剑,在打磨技能的同時(shí),也要注意對外的溝通死陆。

總結(jié):綜上就是我對本書的總結(jié)次慢,拎出來一些我喜歡且認(rèn)同的觀點(diǎn)進(jìn)行闡釋,有些我是深有所感翔曲,就算不是客戶迫像,有時(shí)候公司內(nèi)部也會(huì)出現(xiàn)同樣的情況,畢竟瞳遍,只有寫代碼的人闻妓,才對內(nèi)部真正了解。而不了解的掠械,要的是看起來以為然由缆。我學(xué)不來面子功夫,但是想著猾蒂,技能積累到一定程度均唉,總會(huì)走通的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末肚菠,一起剝皮案震驚了整個(gè)濱河市舔箭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚊逢,老刑警劉巖层扶,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異烙荷,居然都是意外死亡镜会,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門终抽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戳表,“玉大人,你說我怎么就攤上這事昼伴∝倚瘢” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵亩码,是天一觀的道長季率。 經(jīng)常有香客問我,道長描沟,這世上最難降的妖魔是什么飒泻? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任鞭光,我火速辦了婚禮,結(jié)果婚禮上泞遗,老公的妹妹穿的比我還像新娘惰许。我一直安慰自己,他們只是感情好史辙,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布汹买。 她就那樣靜靜地躺著,像睡著了一般聊倔。 火紅的嫁衣襯著肌膚如雪晦毙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天耙蔑,我揣著相機(jī)與錄音见妒,去河邊找鬼。 笑死甸陌,一個(gè)胖子當(dāng)著我的面吹牛须揣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播钱豁,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼耻卡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了牲尺?” 一聲冷哼從身側(cè)響起卵酪,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秸谢,沒想到半個(gè)月后凛澎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡估蹄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沫换。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臭蚁。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖讯赏,靈堂內(nèi)的尸體忽然破棺而出垮兑,到底是詐尸還是另有隱情,我是刑警寧澤漱挎,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布系枪,位于F島的核電站,受9級特大地震影響磕谅,放射性物質(zhì)發(fā)生泄漏私爷。R本人自食惡果不足惜雾棺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衬浑。 院中可真熱鬧捌浩,春花似錦、人聲如沸工秩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽助币。三九已至浪听,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間眉菱,已是汗流浹背馋辈。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留倍谜,地道東北人迈螟。 一個(gè)月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像尔崔,于是被迫代替她去往敵國和親答毫。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容