40條真言,希望對進階中的程序朋友有所幫助。
1、重構是程序員的主力技能。
2、工作日誌能提升腦容量。
3、先用profiler調查,纔有臉談優化。
4、註釋貴精不貴多。杜絕大姨媽般的“例注”。漫山遍野的碎碎念註釋,實際就是背景噪音。
5、普通程序員+google=超級程序員。
6、單元測試總是合算的。
7、不要先寫框架再寫實現。最好反過來,從原型中提煉框架。
8、代碼結構清晰,其它問題都不算事兒。
9、好的項目作風硬派,一鍵測試,一鍵發佈,一鍵部署;爛的項目生性猥瑣,口口相傳,不立文字,神神祕祕。
10、編碼不要畏懼變化,要擁抱變化。
11、常充電。程序員只有一種死法:土死的。
12、編程之事,隔離是方向,起名是關鍵,測試是主角,調試是補充,版本控制是後悔藥。
13、一行代碼一個兵。形成建制纔能有戰鬥力。單位規模不宜過大,千人班,萬人排易成萬人坑。
14、重構/優化/修復Bug,同時只能做一件。
15、簡單模塊注意封裝,複雜模塊注意分層。
說到這裏,也給大家推薦一個架構交流學習羣:835544715,裏面會分享一些資深架構師錄製的視頻錄像:有Spring,MyBatis,Netty源碼分析,高併發、高性能、分佈式、微服務架構的原理,JVM性能優化這些成爲架構師必備的知識體系。還能領取免費的學習資源,相信對於已經工作和遇到技術瓶頸的碼友,在這個羣裏會有你需要的內容。
16、人腦性能有限,整潔勝於雜亂。讀不懂的代碼,嘗試整理下格式;不好用的接口,嘗試重新封裝下。
17、迭代速度決定工作強度。想多快好省,就從簡化開發流程,加快迭代速度開始。
18、忘掉優化寫代碼。過早優化等同惡意破壞;忘掉代碼做優化。優化要基於性能測試,而不是糾結於字裏行間。
19、最好的工具是紙筆;其次好的是markdown。
20、Leader問任務時間,若答不上來,可能是任務拆分還不夠細。
21、寧可多算一週,不可少估一天。過於“樂觀”容易讓boss受驚嚇。
22、最有用的語言是English。其次的可能是Python。
23、百聞不如一見。畫出結果,一目瞭然。調試耗時將大大縮短。
24、資源、代碼應一道受版本管理。資源匹配錯誤遠比代碼匹配錯誤更難排查。
25、不要基於想象開發, 要基於原型開發。原型的價值是快速驗證想法,幫大家節省時間。
26、序列化首選明文文本 。諸如二進制、混淆、加密、壓縮等等有需要時再加。
27、編譯器永遠比你懂微觀優化。只能向它不擅長的方向努力。
28、不要定過大、過遠、過細的計劃。即使定了也沒有用。
29、至少半數時間將花在集成上。時間,時間,時間總是不夠。
30、與主流意見/方法/風格/習慣相悖時,先檢討自己最可靠。
31、出現bug主動查,不管是不是你的。這能讓你業務能力猛漲、個人形象飆升;如果你的bug被別人揪出來.....呵呵,那你會很被動~≧﹏≦
32、不知怎麼選技術書時就挑薄的。起碼不會太貴,且你能看完。
33、git是最棒的。簡單,可靠,免費。
34、僅對“可預測的非理性”拋斷言。
35、Log要寫時間與分類。並且要能重定向輸出。
36、註釋是稍差的文檔。更好的是清晰的命名。讓代碼講自己的故事。
37、造輪子是很好的鍛鍊方法。前提是你見過別的輪子。
38、code review最好以小組/結對的形式。對業務有一定了解,建議會更有價值(但不絕對)。而且不會成爲負擔。管理員個人review則很容易成team的瓶頸。
39、提問前先做調研。問不到點上既被鄙視,又浪費自己的時間。
40、永遠別小看程序媛(╯3╰)