本來只是分享幾條看法。我再補(bǔ)充一些,希望能對進(jìn)階中的程序朋友有幫助。手機(jī)敲得,比較凌亂。作為個(gè)人意見僅供參考。
1.重構(gòu)是程序員的主力技能。
2.工作日志能提升腦容量。
3.先用profiler調(diào)查,才有臉談優(yōu)化。
4.注釋貴精不貴多。杜絕大姨媽般的“例注”。漫山遍野的碎碎念注釋,實(shí)際就是背景噪音。
5.普通程序員+google=超級程序員。
6.寫單元測試總是合算的。
7.不要先寫框架再寫實(shí)現(xiàn)。最好反過來,從原型中提煉框架。
8.代碼結(jié)構(gòu)清晰,其它問題都不算事兒。
9.管理行不行,就看工作流。
10.編碼不要畏懼變化,要擁抱變化。
11.常充電。程序員只有一種死法:土死的。
12.對于編程,隔離是方向,起名是關(guān)鍵,測試是主角,調(diào)試是補(bǔ)充,版本控制是后悔藥。
13.一行代碼一個(gè)兵。必須形成函數(shù)/類/模塊等建制才能打仗。否則就是一盤散沙??刹豢梢郧税?,萬人排呀?不怕變成萬人坑你就上。
14.重構(gòu)/優(yōu)化/修復(fù)Bug,同時(shí)只能做一件。
15.簡單模塊注意封裝,復(fù)雜模塊注意分層。
16.人腦性能有限,整潔勝于雜亂。遇到讀不懂的代碼,可以嘗試整理下格式;不好用的接口,可嘗試重新封裝下。
17.迭代速度決定工作強(qiáng)度。想多快好省,簡化開發(fā)流程,加快迭代速度。
18.忘掉優(yōu)化寫代碼,忘掉代碼作優(yōu)化。因?yàn)檫^早優(yōu)化,往往事倍功半;而不通過全局性能度量,優(yōu)化也難有建樹。
19.最好的工具是紙筆;其次好的是markdown。
20.leader問你任務(wù)時(shí)間,你答不上來。很可能是任務(wù)拆分不夠細(xì)。
21.寧可多算一周,不可少估一天。別總因?yàn)椤昂靡狻倍屇愕腷oss受驚嚇。
22.最有用的語言是English。其次的可能是Python。
23.畫出結(jié)果,調(diào)試耗時(shí)將急劇縮短。
24.資源、代碼應(yīng)一道受版本管理。資源匹配錯(cuò)誤遠(yuǎn)比代碼匹配錯(cuò)誤更難排查。
25.不要基于想象開發(fā), 要基于原型開發(fā)。原型的價(jià)值是快速驗(yàn)證想法,幫大家節(jié)省時(shí)間。
26.序列化首選明文文本 。諸如二進(jìn)制、混淆、加密、壓縮等等有需要時(shí)再加。
27.編譯器永遠(yuǎn)比你懂微觀優(yōu)化。只能向它不擅長的方向努力。
28.不要定過大、過遠(yuǎn)、過細(xì)的計(jì)劃。即使定了也沒有用。
29.至少半數(shù)時(shí)間將花在集成上。
30.與主流意見/方法/風(fēng)格/習(xí)慣相悖時(shí),先檢討自己最可靠。
31.出現(xiàn)bug主動(dòng)查。那是難得的成長機(jī)會(huì)(對經(jīng)驗(yàn)對形象都是)。當(dāng)然還有:別人查出來你會(huì)很被動(dòng)。
32.不知怎么選技術(shù)書時(shí)就挑薄的。起碼不會(huì)太貴,且你能看完。
33.git是最棒的。簡單,可靠,免費(fèi)。
34.僅對“可預(yù)測的非理性”拋斷言。
35.Log要有時(shí)間和分類,并且要能重定向輸出。
36.注釋是稍差的文檔。更好的是清晰的代碼命名。
37.造輪子是很好的鍛煉方法。不過前提是見過別的輪子。
38.code review最好以小組或結(jié)對為主。因?yàn)閷I(yè)務(wù)有足夠了解建議才更有價(jià)值。而且不會(huì)成為負(fù)擔(dān)。注意,提交過程中的管理員review很容易成為瓶頸。
39.提問前先做調(diào)研。節(jié)約大家的時(shí)間。
40.永遠(yuǎn)別小看程序媛(╯3╰)
學(xué)習(xí)Java的同學(xué)注意了?。?!
學(xué)習(xí)過程中遇到什么問題或者想獲取學(xué)習(xí)資源的話,歡迎加入Java學(xué)習(xí)交流,裙號碼:253772578【長按復(fù)制】 我們一起學(xué)Java!
聯(lián)系客服