全棧工程師15年經(jīng)驗(yàn)分享:40個改變編程技能的小技巧
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
編程如何節(jié)省更多的時間,犯更少的錯誤?
最近,這樣一份「心得」火了。這位名叫Kesk Noren的軟件工程師在Medium上分享了一篇博文——「40 Tips that will change your coding skills forever」,獲得3.5k點(diǎn)贊。
40個將永久改變你編程技能的小技巧,你值得擁有~
除了軟件工程師以外,Kesk Noren還是一位全棧工程師。他用15年的工作經(jīng)驗(yàn),總結(jié)出來一些對職業(yè)生涯有幫助的東西。
還提到,
話不多說,我們就來一睹為快!
1、將大塊代碼分解成小函數(shù)
2、今日事今日畢,如果沒畢,就留到明天。
如果下班之前還沒有解決的問題,那么你需要做的,就是關(guān)閉電腦,把它留到明天。
中途不要再想著問題了!
3、YAGNI原則
「You aren’t gonna need it!」
你自以為有用的功能,實(shí)際上是用不到的。除了要求的核心功能,其他功能一概不要部署。
這一原則的核心思想是,盡可能快、盡可能簡單的將軟件運(yùn)行起來。
4、不必全知全能,但基礎(chǔ)一定要扎實(shí)
比如學(xué)習(xí)一些基礎(chǔ)知識,SOLID原則,如何寫干凈的代碼等等。
5、KISS原則
「Keep it simple,stupid.」or「Keep it stupid simple.」,一種程序設(shè)計原則。
大多數(shù)系統(tǒng)往往「最簡單」,運(yùn)行效率最高,但實(shí)際操作起來并不簡單。
6、別想太多
7、被問題/Bug卡住時,walk away!
不過還是要記得回來。
當(dāng)你走在去上班、去廁所、去散步的時候,也許就能想到解決方法。
尤其是在與客戶、同事生氣時,甚至關(guān)乎你工作去留的時候,效率會更高。
8、學(xué)會寫測試代碼TDD
TDD是一個軟件開發(fā)過程,它依賴于重復(fù)一個很短的開發(fā)周期:寫一個測試,運(yùn)行所有的測試,看看新的測試是否失敗,寫一些代碼,運(yùn)行測試,重構(gòu)代碼,重復(fù)。
9、先分解問題再開始寫代碼
不要不知道怎么做就開始寫代碼。
10、代碼不要死記硬背
要理解邏輯。
11、學(xué)好用好Stack Overflow
如果你復(fù)制粘貼一個Stack Overflow解決方案,請一定要確保已經(jīng)理解了它。
12、不要「光學(xué)不練」
如果你想學(xué)點(diǎn)什么,就去練習(xí),光學(xué)是不夠的。
13、與小伙伴互相審查代碼
研究別人的代碼,讓別人時常研究你的代碼。
互幫互助,共同進(jìn)步。
14、Don’t Reinvent The Wheel
「不要重新發(fā)明輪 子。」
充分利用已有的經(jīng)驗(yàn)和成果,避免不必要的投入和浪費(fèi)。
15、你的代碼是最好的文檔
16、懂得如何搜索
對于這一點(diǎn),你需要有經(jīng)驗(yàn)以及讀很多書,才知道要找什么東西。
17、寫代碼時要之后維護(hù)考慮
你的代碼將來需要你自己或者別人來維護(hù)。
所以,寫代碼的時候要考慮到讀者,而不是想成為最聰明的人,讓它讀起來就像在讀一個故事。
18、復(fù)制粘貼
用谷歌、百度解決錯誤的最好方式就是「復(fù)制粘貼」。
19、不要放棄
到最后,不管用什么方式,問題肯定會解決。
20、休息、休息再休息
解決問題的最好方法是有一個安穩(wěn)的心態(tài)。
21、學(xué)習(xí)軟件設(shè)計模式
設(shè)計模式是軟件設(shè)計中常見問題的解決方案。每一種模式就像一個藍(lán)圖,你可以自定義來解決代碼中常見的設(shè)計問題。(不要重復(fù)發(fā)明輪 子。)
22、使用集成工具
盡可能實(shí)現(xiàn)自動化。
23、Do code katas.
「Code kata」是編程中的一種練習(xí),可以幫助程序員通過練習(xí)和重復(fù)來提高他們的技能。
24、依賴注入是一個要求
編程到一個接口,而不是implementation。
所謂依賴注入,就是組件之間的依賴關(guān)系由容器在應(yīng)用系統(tǒng)運(yùn)行期來決定,也就是由容器動態(tài)地將某種依賴關(guān)系的目標(biāo)對象實(shí)例注入到應(yīng)用系統(tǒng)中的各個關(guān)聯(lián)的組件之中。
25、重構(gòu)-測試-重構(gòu)
重構(gòu)是一種對現(xiàn)有代碼進(jìn)行重組的技術(shù),在不改變其外部行為的前提下,改變和改進(jìn)其內(nèi)部結(jié)構(gòu)。
26、及時尋求幫助
不要浪費(fèi)時間。
27、Practice makes perfect.
熟能生巧。
28、不必太在意評論
雖然有時評論可以幫到你,但不要太過在意。他們可能已經(jīng)過時了。
29、了解你的開發(fā)環(huán)境
了解你的開發(fā)環(huán)境,并invest一個足夠強(qiáng)大的環(huán)境,如,IntelliJ。
30、重復(fù)使用組件
31、考慮相關(guān)限制
在開發(fā)網(wǎng)絡(luò)應(yīng)用時,要考慮到移動優(yōu)先以及相關(guān)的功率和帶寬限制。
32、不要過早優(yōu)化或重構(gòu)
更重要的是盡快擁有一個最低限度可行的產(chǎn)品。
33、不要投機(jī)取巧
千萬不要為了節(jié)省幾分鐘的時間而選擇效率低下的捷徑方式。
「Every time you code, give your best!」
34、遵循規(guī)定的標(biāo)準(zhǔn)
35、用戶不是技術(shù)人員
當(dāng)你開發(fā)你的UI時,需要考慮到這一點(diǎn)。
36、堅持使用Github或bitbucket
可以進(jìn)行小規(guī)模、頻繁的git提交。
37、記錄所有關(guān)鍵部分
記錄系統(tǒng)日志比調(diào)試代碼更好。
38、風(fēng)格保持一致
如果你使用一種風(fēng)格,請總是使用相同的風(fēng)格。
如果你和更多的人一起工作,對所有的團(tuán)隊(duì)都使用相同的風(fēng)格。
39、Don’t stop learning
但比起學(xué)習(xí)新語言或框架,更要注重學(xué)習(xí)軟件開發(fā)的基礎(chǔ)知識。
40、patience and love
最后,對你正在做的事情保有足夠的耐心和熱愛。
好了,這就是40個改變你編程技能的小技巧,希望能對你有所幫助~
【編輯推薦】
<div>13個Python超實(shí)用的編程技巧,越早知道越好程序員開發(fā)利器?在線工具集錦2020年7 月全國程序員工資、7月編程語言排行棒新出爐程序員的訓(xùn)練日記:編程也是一項(xiàng)耐力活動不會編程的外國小姐姐用樹莓派DIY了個數(shù)碼相機(jī)聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科
