7個(gè)有益的編程習(xí)慣
我最近一直在閱讀關(guān)于“如何培養(yǎng)習(xí)慣”的書籍。閱讀并消化之后,我不禁開始思考,目前我有哪些習(xí)慣。其中一些是生活方面的,另一些則完全關(guān)于工作。這其中有不少習(xí)慣是和編程密切相關(guān)的,這也是我接下來覺得值得和大家分享的內(nèi)容。
不受控制的自動(dòng)保存 – 這個(gè)習(xí)慣已經(jīng)伴隨著我多年了。即使如今許多 IDE 甚至不需要用戶(主動(dòng))保存文件,但我任然樂此不疲地按著“Ctrl + S”這個(gè)組合鍵。如果沒記錯(cuò)的話,我每次停止打字時(shí)都會(huì)無所事事,于是會(huì)不受控制地做著這樣的舉動(dòng)。
有些開發(fā)人員喜歡將自己“處在狀態(tài)”比喻成“涅槃重生”或者是到達(dá)了“瓦爾哈拉殿堂”。在我看來,這更像是一種“暴走模式”。顯而易見,這是生產(chǎn)效率非常驚人的一段時(shí)間,但之后你應(yīng)該休息片刻來調(diào)整恢復(fù)(你體內(nèi)的激素水平)。就像 F1 方程式賽車一樣,短時(shí)間的爆發(fā)沖刺將直接影響最終成績(jī),但是更重要的是要確保“ 定期的進(jìn)站(休息/恢復(fù)) ”。長(zhǎng)時(shí)間亢奮反而會(huì)讓大腦麻木,從而導(dǎo)致更容易陷入困境。
確保隔絕所有干擾源 – 當(dāng)我正在著手于非常重要的事項(xiàng)時(shí),我會(huì)直接關(guān)閉手機(jī),避免一切社交應(yīng)用或者媒體的打擾。當(dāng)然如果你有小孩子,那把他們鎖在地下室里可能并不是一個(gè)很好的解決方案 :)。
著手工作前先想清楚預(yù)期結(jié)果 – 可視化可度量是至關(guān)重要的。它有助于我明確今天的目標(biāo)清單,并且在一天結(jié)束時(shí)能減少自己“碌碌無為”而產(chǎn)生的沮喪和失望。所以對(duì)于任何時(shí)候你在做的事情,都先明確你預(yù)期要獲得的收益。這聽起來十分淺顯,但實(shí)際上我們經(jīng)常會(huì)遺漏這一點(diǎn)。
對(duì)我來說,另一個(gè)好習(xí)慣是“ 保持定期訓(xùn)練 ”。比如,堅(jiān)持去健身就是一個(gè)非常好的習(xí)慣。我非常喜歡時(shí)不時(shí)得做一些編程練習(xí),這可以讓我時(shí)刻保持自己的鋸子鋒利無比。請(qǐng)記住,堅(jiān)持這個(gè)習(xí)慣,雖然它現(xiàn)在不會(huì)給你帶來報(bào)酬,但它一定會(huì)在未來給你巨大的收益。
“ 測(cè)試先行 ” – 這與前面提到的一點(diǎn)類似,先來組織并構(gòu)建測(cè)試用例可以幫助我在開始之前就看到我的目的地。同時(shí),它也能有助于設(shè)計(jì)和文檔化這兩個(gè)過程。但實(shí)際情況來看,很少有開發(fā)人員認(rèn)同并實(shí)踐這個(gè)觀點(diǎn)。
避免過度的“ 面向未來編程 ”。之前我每次著手編程時(shí),我總是第一天就力求完美,設(shè)計(jì)和實(shí)現(xiàn)上都嘗試覆蓋所有可能的特殊情況(edge cases)。隨著時(shí)間的推移,我意識(shí)到這樣常常會(huì)導(dǎo)致過度復(fù)雜的設(shè)計(jì)和代碼實(shí)現(xiàn),同時(shí)消耗更多的時(shí)間。
所以,希望你們可以有所借鑒,這些都是我在職業(yè)生涯里慢慢形成的同時(shí)非常有用的習(xí)慣。培養(yǎng)和建立一個(gè)好習(xí)慣的最好也是唯一途徑就是開始實(shí)踐它。
最后,別忘了給我也分享一些你們的好習(xí)慣!你內(nèi)部人……Rr^