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