您的位置:首頁(yè) > 業(yè)內(nèi)資訊 > 讓你變成優(yōu)秀程序員的幾個(gè)小習(xí)慣
編者按:本文作者為Jeff Standen,這是一位有著21年以上經(jīng)驗(yàn)的國(guó)外軟件開發(fā)者。如果你覺得他的經(jīng)驗(yàn)比較有益處,可以借鑒一下。
首先開發(fā)spike解決方案—— 這是我早期敏捷/極限編程所養(yǎng)成的習(xí)慣之一。spike解決方案是一次性原型,可以幫助你在投入大量時(shí)間和精力之前驗(yàn)證你是否走對(duì)路。
區(qū)別就在于原型,因?yàn)槟阕裱@樣一個(gè)規(guī)則,在你完成研究之后,你最終會(huì)扔掉“spike”代碼。所以允許你偷工減料,迅速行動(dòng),因?yàn)樗粫?huì)出現(xiàn)在產(chǎn)品或代碼審查中。
此方法有助于迅速發(fā)現(xiàn)設(shè)計(jì)的哪些部位尚不明確,而不必過(guò)早地嘗試架構(gòu)或設(shè)計(jì)決策。
致力于小而連貫代碼塊的版本控制—— 通過(guò)類似CVS/Subversion,每次提交都直接發(fā)送到服務(wù)器。做部分文件的提交并不簡(jiǎn)單。
隨著Git的出現(xiàn),只提交較大文件的若干行代碼變得很容易,并且可以在push到遠(yuǎn)程代碼倉(cāng)庫(kù)之前先本地rebase/merge提交。
有一次,我在工作于更大功能的時(shí)候,采用了小型增量提交,我的工作效率直線上升。這樣做能夠清空我的大腦以便于面對(duì)更重要的事情。
經(jīng)常寫代碼—— 最近,我正工作于:一個(gè)基于Web的企業(yè)協(xié)作和自動(dòng)化平臺(tái)(PHP / MySQL),一個(gè)基于云的實(shí)時(shí)指標(biāo)聚合器和使用循環(huán)哈希(Node.js/ Redis)的API,一個(gè)面向iOS app商店(Swift/ SpriteKit)的棋盤游戲,專門的基于URL的cronjob可替代基于web的SaaS服務(wù)(JAVA),等等。
用過(guò)大量框架和語(yǔ)言有助于我的抽象和算法思維。
我從工具,如Eclipse RCP、Tapestry和Hibernate中學(xué)到了很多偉大的經(jīng)驗(yàn)教訓(xùn),并用到我的PHP項(xiàng)目里。尤其是在2000年初,在有Java特征的企業(yè)生態(tài)系統(tǒng)用于PHP存在之前。我從Unity3d/C#學(xué)到了很多關(guān)于網(wǎng)絡(luò)和面向消息的架構(gòu)。
如果我只堅(jiān)持單一平臺(tái)和社區(qū)的話,就永遠(yuǎn)不會(huì)知道這些概念。
編寫簡(jiǎn)單的代碼—— 我以前習(xí)慣于寫復(fù)雜的代碼以作為對(duì)自己的挑戰(zhàn)。而現(xiàn)在的挑戰(zhàn)是要編寫優(yōu)雅且簡(jiǎn)單的代碼——到一種每個(gè)人都覺得他們也能做到的地步(即使他們不能)。簡(jiǎn)單代碼通常來(lái)自于若干次復(fù)雜代碼的迭代。
小編推薦閱讀
本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]
湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)