×

全棧工程師15年經(jīng)驗(yàn)分享:40個(gè)改變編程技能的小技巧

分類(lèi):互聯(lián)網(wǎng)熱點(diǎn) 編輯:小新 瀏覽量:4
2020-07-20 13:33:06

本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

編程如何節(jié)省更多的時(shí)間,犯更少的錯(cuò)誤?

最近,這樣一份「心得」火了。這位名叫Kesk Noren的軟件工程師在Medium上分享了一篇博文——「40 Tips that will change your coding skills forever」,獲得3.5k點(diǎn)贊。

40個(gè)將永久改變你編程技能的小技巧,你值得擁有~

除了軟件工程師以外,Kesk Noren還是一位全棧工程師。他用15年的工作經(jīng)驗(yàn),總結(jié)出來(lái)一些對(duì)職業(yè)生涯有幫助的東西。

還提到,

話(huà)不多說(shuō),我們就來(lái)一睹為快!

1、將大塊代碼分解成小函數(shù)

2、今日事今日畢,如果沒(méi)畢,就留到明天。

如果下班之前還沒(méi)有解決的問(wèn)題,那么你需要做的,就是關(guān)閉電腦,把它留到明天。

中途不要再想著問(wèn)題了!

3、YAGNI原則

「You aren’t gonna need it!」

你自以為有用的功能,實(shí)際上是用不到的。除了要求的核心功能,其他功能一概不要部署。

這一原則的核心思想是,盡可能快、盡可能簡(jiǎn)單的將軟件運(yùn)行起來(lái)。

4、不必全知全能,但基礎(chǔ)一定要扎實(shí)

比如學(xué)習(xí)一些基礎(chǔ)知識(shí),SOLID原則,如何寫(xiě)干凈的代碼等等。

5、KISS原則

「Keep it simple,stupid.」or「Keep it stupid simple.」,一種程序設(shè)計(jì)原則。

大多數(shù)系統(tǒng)往往「最簡(jiǎn)單」,運(yùn)行效率最高,但實(shí)際操作起來(lái)并不簡(jiǎn)單。

6、別想太多

7、被問(wèn)題/Bug卡住時(shí),walk away!

不過(guò)還是要記得回來(lái)。

當(dāng)你走在去上班、去廁所、去散步的時(shí)候,也許就能想到解決方法。

尤其是在與客戶(hù)、同事生氣時(shí),甚至關(guān)乎你工作去留的時(shí)候,效率會(huì)更高。

8、學(xué)會(huì)寫(xiě)測(cè)試代碼TDD

TDD是一個(gè)軟件開(kāi)發(fā)過(guò)程,它依賴(lài)于重復(fù)一個(gè)很短的開(kāi)發(fā)周期:寫(xiě)一個(gè)測(cè)試,運(yùn)行所有的測(cè)試,看看新的測(cè)試是否失敗,寫(xiě)一些代碼,運(yùn)行測(cè)試,重構(gòu)代碼,重復(fù)。

9、先分解問(wèn)題再開(kāi)始寫(xiě)代碼

不要不知道怎么做就開(kāi)始寫(xiě)代碼。

10、代碼不要死記硬背

要理解邏輯。

11、學(xué)好用好Stack Overflow

如果你復(fù)制粘貼一個(gè)Stack Overflow解決方案,請(qǐng)一定要確保已經(jīng)理解了它。

12、不要「光學(xué)不練」

如果你想學(xué)點(diǎn)什么,就去練習(xí),光學(xué)是不夠的。

13、與小伙伴互相審查代碼

研究別人的代碼,讓別人時(shí)常研究你的代碼。

互幫互助,共同進(jìn)步。

14、Don’t Reinvent The Wheel

「不要重新發(fā)明輪 子。」

充分利用已有的經(jīng)驗(yàn)和成果,避免不必要的投入和浪費(fèi)。

15、你的代碼是最好的文檔

16、懂得如何搜索

對(duì)于這一點(diǎn),你需要有經(jīng)驗(yàn)以及讀很多書(shū),才知道要找什么東西。

17、寫(xiě)代碼時(shí)要之后維護(hù)考慮

你的代碼將來(lái)需要你自己或者別人來(lái)維護(hù)。

所以,寫(xiě)代碼的時(shí)候要考慮到讀者,而不是想成為最聰明的人,讓它讀起來(lái)就像在讀一個(gè)故事。

18、復(fù)制粘貼

用谷歌、百度解決錯(cuò)誤的最好方式就是「復(fù)制粘貼」。

19、不要放棄

到最后,不管用什么方式,問(wèn)題肯定會(huì)解決。

20、休息、休息再休息

解決問(wèn)題的最好方法是有一個(gè)安穩(wěn)的心態(tài)。

21、學(xué)習(xí)軟件設(shè)計(jì)模式

設(shè)計(jì)模式是軟件設(shè)計(jì)中常見(jiàn)問(wèn)題的解決方案。每一種模式就像一個(gè)藍(lán)圖,你可以自定義來(lái)解決代碼中常見(jiàn)的設(shè)計(jì)問(wèn)題。(不要重復(fù)發(fā)明輪 子。)

22、使用集成工具

盡可能實(shí)現(xiàn)自動(dòng)化。

23、Do code katas.

「Code kata」是編程中的一種練習(xí),可以幫助程序員通過(guò)練習(xí)和重復(fù)來(lái)提高他們的技能。

24、依賴(lài)注入是一個(gè)要求

編程到一個(gè)接口,而不是implementation。

所謂依賴(lài)注入,就是組件之間的依賴(lài)關(guān)系由容器在應(yīng)用系統(tǒng)運(yùn)行期來(lái)決定,也就是由容器動(dòng)態(tài)地將某種依賴(lài)關(guān)系的目標(biāo)對(duì)象實(shí)例注入到應(yīng)用系統(tǒng)中的各個(gè)關(guān)聯(lián)的組件之中。

25、重構(gòu)-測(cè)試-重構(gòu)

重構(gòu)是一種對(duì)現(xiàn)有代碼進(jìn)行重組的技術(shù),在不改變其外部行為的前提下,改變和改進(jìn)其內(nèi)部結(jié)構(gòu)。

26、及時(shí)尋求幫助

不要浪費(fèi)時(shí)間。

27、Practice makes perfect.

熟能生巧。

28、不必太在意評(píng)論

雖然有時(shí)評(píng)論可以幫到你,但不要太過(guò)在意。他們可能已經(jīng)過(guò)時(shí)了。

29、了解你的開(kāi)發(fā)環(huán)境

了解你的開(kāi)發(fā)環(huán)境,并invest一個(gè)足夠強(qiáng)大的環(huán)境,如,IntelliJ。

30、重復(fù)使用組件

31、考慮相關(guān)限制

在開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用時(shí),要考慮到移動(dòng)優(yōu)先以及相關(guān)的功率和帶寬限制。

32、不要過(guò)早優(yōu)化或重構(gòu)

更重要的是盡快擁有一個(gè)最低限度可行的產(chǎn)品。

33、不要投機(jī)取巧

千萬(wàn)不要為了節(jié)省幾分鐘的時(shí)間而選擇效率低下的捷徑方式。

「Every time you code, give your best!」

34、遵循規(guī)定的標(biāo)準(zhǔn)

35、用戶(hù)不是技術(shù)人員

當(dāng)你開(kāi)發(fā)你的UI時(shí),需要考慮到這一點(diǎn)。

36、堅(jiān)持使用Github或bitbucket

可以進(jìn)行小規(guī)模、頻繁的git提交。

37、記錄所有關(guān)鍵部分

記錄系統(tǒng)日志比調(diào)試代碼更好。

38、風(fēng)格保持一致

如果你使用一種風(fēng)格,請(qǐng)總是使用相同的風(fēng)格。

如果你和更多的人一起工作,對(duì)所有的團(tuán)隊(duì)都使用相同的風(fēng)格。

39、Don’t stop learning

但比起學(xué)習(xí)新語(yǔ)言或框架,更要注重學(xué)習(xí)軟件開(kāi)發(fā)的基礎(chǔ)知識(shí)。

40、patience and love

最后,對(duì)你正在做的事情保有足夠的耐心和熱愛(ài)。

好了,這就是40個(gè)改變你編程技能的小技巧,希望能對(duì)你有所幫助~

【編輯推薦】

<div>13個(gè)Python超實(shí)用的編程技巧,越早知道越好程序員開(kāi)發(fā)利器?在線(xiàn)工具集錦2020年7 月全國(guó)程序員工資、7月編程語(yǔ)言排行棒新出爐程序員的訓(xùn)練日記:編程也是一項(xiàng)耐力活動(dòng)不會(huì)編程的外國(guó)小姐姐用樹(shù)莓派DIY了個(gè)數(shù)碼相機(jī)
【責(zé)任編輯:張燕妮

聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)

送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)

需注明出處:新網(wǎng)idc知識(shí)百科

免費(fèi)咨詢(xún)獲取折扣

Loading