編程如何節省更多的時間,犯更少的錯誤?git
最近,這樣一份「心得」火了。這位名叫Kesk Noren的軟件工程師在Medium上分享了一篇博文——「40 Tips that will change your coding skills forever」,得到3.5k點贊。程序員
40個將永久改變你編程技能的小技巧,你值得擁有~編程
除了軟件工程師之外,Kesk Noren仍是一位全棧工程師。他用15年的工做經驗,總結出來一些對職業生涯有幫助的東西。設計模式
還提到,網絡
這篇文章雖然讀起來很快,可是真正可以應用好它,就須要一輩子的時間。
話很少說,咱們就來一睹爲快!框架
一、
將大塊代碼分解成小函數函數
二、
今日事今日畢,若是沒畢,就留到明天。工具
若是下班以前尚未解決的問題,那麼你須要作的,就是關閉電腦,把它留到明天。
中途不要再想着問題了!學習
三、
YAGNI原則測試
「You aren’t gonna need it!」
你自覺得有用的功能,其實是用不到的。除了要求的核心功能,其餘功能一律不要部署。
這一原則的核心思想是,儘量快、儘量簡單的將軟件運行起來。
四、
沒必要全知全能,但基礎必定要紮實
好比學習一些基礎知識,SOLID原則,如何寫乾淨的代碼等等。
五、
KISS原則
「Keep it simple,stupid.」or「Keep it stupid simple.」
,一種程序設計原則。
大多數系統每每「最簡單」,運行效率最高,但實際操做起來並不簡單。
六、
別想太多
七、
被問題/Bug卡住時,walk away!
不過仍是要記得回來。
當你走在去上班、去廁所、去散步的時候,也許就能想到解決方法。
尤爲是在與客戶、同事生氣時,甚相當乎你工做去留的時候,效率會更高。
八、
學會寫測試代碼TDD
TDD是一個軟件開發過程,它依賴於重複一個很短的開發週期:寫一個測試,運行全部的測試,看看新的測試是否失敗,寫一些代碼,運行測試,重構代碼,重複。
九、
先分解問題再開始寫代碼
不要不知道怎麼作就開始寫代碼。
十、
代碼不要死記硬背
要理解邏輯。
十一、
學好用好Stack Overflow
若是你複製粘貼一個Stack Overflow解決方案,請必定要確保已經理解了它。
十二、
不要「光學不練」
若是你想學點什麼,就去練習,光學是不夠的。
1三、
與小夥伴互相審查代碼
研究別人的代碼,讓別人時常研究你的代碼。
互幫互助,共同進步。
1四、
Don’t Reinvent The Wheel
「不要從新發明輪子。」
充分利用已有的經驗和成果,避免沒必要要的投入和浪費。
1五、
你的代碼是最好的文檔
1六、
懂得如何搜索
對於這一點,你須要有經驗以及讀不少書,才知道要找什麼東西。
1七、
寫代碼時要以後維護考慮
你的代碼未來須要你本身或者別人來維護。
因此,寫代碼的時候要考慮到讀者,而不是想成爲最聰明的人,讓它讀起來就像在讀一個故事。
1八、
複製粘貼
用谷歌、百度解決錯誤的最好方式就是「複製粘貼」。
1九、
不要放棄
到最後,無論用什麼方式,問題確定會解決。
20、
休息、休息再休息
解決問題的最好方法是有一個安穩的心態。
2一、
學習軟件設計模式
設計模式是軟件設計中常見問題的解決方案。每一種模式就像一個藍圖,你能夠自定義來解決代碼中常見的設計問題。(不要重複發明輪子。)
2二、
使用集成工具
儘量實現自動化。
2三、
Do code katas.
「Code kata」是編程中的一種練習,能夠幫助程序員經過練習和重複來提升他們的技能。
2四、
依賴注入是一個要求
編程到一個接口,而不是implementation。
所謂依賴注入,就是組件之間的依賴關係由容器在應用系統運行期來決定,也就是由容器動態地將某種依賴關係的目標對象實例注入到應用系統中的各個關聯的組件之中。
2五、
重構-測試-重構
重構是一種對現有代碼進行重組的技術,在不改變其外部行爲的前提下,改變和改進其內部結構。
2六、
及時尋求幫助
不要浪費時間。
2七、
Practice makes perfect.
業精於勤。
2八、
沒必要太在乎評論
雖然有時評論能夠幫到你,但不要太過在乎。他們可能已通過時了。
2九、
瞭解你的開發環境
瞭解你的開發環境,並invest一個足夠強大的環境,如,IntelliJ。
30、
複用組件
3一、
考慮相關限制
在開發網絡應用時,要考慮到移動優先以及相關的功率和帶寬限制。
3二、
不要過早優化或重構
更重要的是儘快擁有一個最低限度可行的產品。
3三、
不要投機取巧
千萬不要爲了節省幾分鐘的時間而選擇效率低下的捷徑方式。
「Every time you code, give your best!」
3四、
遵循規定的標準
3五、
用戶不是技術人員
當你開發你的UI時,須要考慮到這一點。
3六、
堅持使用Github或bitbucket
能夠進行小規模、頻繁的git提交。
3七、
記錄全部關鍵部分
記錄系統日誌比調試代碼更好。
3八、
風格保持一致
若是你使用一種風格,請老是使用相同的風格。
若是你和更多的人一塊兒工做,對全部的團隊都使用相同的風格。
3九、
Don’t stop learning
但比起學習新語言或框架,更要注重學習軟件開發的基礎知識。
40、
patience and love
最後,對你正在作的事情保有足夠的耐心和熱愛。
好了,這就是40個改變你編程技能的小技巧,但願能對你有所幫助~
固然,若是你有什麼好的經驗技巧,也歡迎與咱們分享~
譯者: 白交 發自 凹非寺 量子位 報道 | 公衆號 QbitAI
做者:Kesk -*-、
,連接: https://medium.com/swlh/40-ti...