一、對開發(fā)工作要有必要的愛好
愛好是最好的老師,對某個事物有了一定的愛好,才會潛下心來學(xué)習(xí)、研究它,工作同樣如斯。假如對程序員的工作完全沒有愛好,甚至是抱著厭惡的立場, 那么其工作結(jié)果和能力就可想而知了。在這里說愛好,并不要求你達(dá)到對編程有著狂熱的興趣這種程度,只需要你還算喜歡這份工作即可,哪怕抱著尋常心來面臨也 好。
二、要善于學(xué)習(xí)和總結(jié)
都說程序員是一個吃青春飯的職業(yè),固然這話說的略顯絕對,但也有一定的道理。IT領(lǐng)域的技術(shù)更新?lián)Q代太快了,一門新的語言興起并不需要太久的時間,只有不斷的接觸并學(xué)習(xí)新東西,才能不被淘汰掉。所謂“活到老,學(xué)到老”,這話用在程序員身上可能是最適合不外的了。
而在學(xué)習(xí)的同時,也要善于進(jìn)行總結(jié)。每次完成了一項(xiàng)工作,都對這次的工作進(jìn)行一下總結(jié),好比用了什么技術(shù)、如何進(jìn)行的項(xiàng)目設(shè)計、如何考慮的用戶體驗(yàn)等,而在工作中泛起的題目也應(yīng)該緊緊記住,從自己的不足中吸取教訓(xùn),這樣才能使自己成長起來。
三、要養(yǎng)成良好的習(xí)慣
首先,要有寫文檔的習(xí)慣,不要覺得程序員的工作只是寫代碼,這樣的程序員一輩子也就是個“碼農(nóng)”了,絕對沒有前途的。在正規(guī)的軟件公司中,文檔的地 位很高,開發(fā)流程里面通常也體現(xiàn)出了各個環(huán)節(jié)的文檔的位置。沒有文檔的軟件是很難長久的存活下去的,由于在測試、復(fù)用、進(jìn)級等方面都會碰到越來越大的阻 力。越是高級的程序員,就越應(yīng)該正視文檔。
其次,要養(yǎng)成良好的編碼習(xí)慣。變量如何命名?函數(shù)(方法)如何命名?程序中的注釋怎么寫?程序的縮進(jìn)格局怎樣確定?好一點(diǎn)的公司都會有這方面的文 檔,但是總有程序員從來都不看這些文檔,他們以為最牛的程序員寫出來的程序應(yīng)該除了自己沒有人能看懂,然后他們真的就這樣做了——結(jié)果就是別人看不懂,沒 法合作,到最后連他們自己都看不懂,這種人連作為一個程序員的基本素質(zhì)都不具備。寫出規(guī)范化、尺度化的程序代碼,是一個合格程序員最基本的素質(zhì)。
最后要提一下的是測試習(xí)慣。固然正規(guī)的軟件公司都有專門的測試部分,但是開發(fā)部分也不能就此降低自我要求。軟件所含題目發(fā)現(xiàn)的越早,付出的本錢就越 低,假如開發(fā)職員在開發(fā)早期就能發(fā)現(xiàn)一些題目并解決,就可以節(jié)省大量的人力和物力。同時,程序員應(yīng)該對自己開發(fā)的程序進(jìn)行功能性測試,你總要保證自己開發(fā) 的軟件能正常使用吧?假如連這點(diǎn)都做不到,那你這程序?qū)懙木蜎]用了。而且要盡可能的模擬用戶實(shí)際使用的一些狀況,要想到一些特殊的異常狀況。固然在實(shí)際工 作中開發(fā)職員很難做到全方位的測試,但一定要清晰這項(xiàng)工作的重要性。
四、要能準(zhǔn)確理解用戶需求
現(xiàn)在什么都講究個用戶體驗(yàn),而這對軟件來說簡直就是賴以生存的根本。一個軟件的用戶體驗(yàn)如何,在極大的程度上能決定這款軟件能否成功。通常在開發(fā)工 作開始前,項(xiàng)目組會對該項(xiàng)目的用戶需求進(jìn)行分析和討論,準(zhǔn)確的理解了用戶需求,再劃分公道的模塊,甚至考慮到一些潛伏的威脅,這都是一個優(yōu)秀的程序員所具 有的素質(zhì)。做到這一點(diǎn)很不輕易,像我這樣的程序員,目前只能停留在口頭上,實(shí)際工作中我想的都非常不全面。
五、要注重程序的復(fù)用性和模塊化
是不是一直覺得做程序員太累了?是的,程序員這份工作確實(shí)壓力比較大,但是有些程序員的工作壓力相稱一部門是自己給自己添加的,他們老是在做一些重 復(fù)的工作,而從來不會考慮復(fù)用性和模塊化的思惟。程序員在完成某個功能模塊的時候,不應(yīng)該把思維局限在這次工作中,而是應(yīng)該想想,能否把這部門代碼脫離出 本次工作,能否將其設(shè)計成其他系統(tǒng)也能調(diào)用的功能模塊?假如每個人都能有這樣的思維,日積月累下來,大家的重復(fù)性工作就會大大減少,也就有更多的精力來進(jìn) 行新功能的開發(fā)與立異。
六、擁有團(tuán)隊(duì)協(xié)作的精神
固然我把這一點(diǎn)放在最后,但是它的重要性我想不需要太夸大了吧。現(xiàn)在的軟件功能通常很復(fù)雜,而且還要涉及到良好的UI(用戶界面),甚至要考慮到整 個系統(tǒng)的協(xié)調(diào),一個人是根本不可能完成這種工作的,所以團(tuán)隊(duì)協(xié)作是必要也是必需的。在一個項(xiàng)目團(tuán)隊(duì)中,如何根據(jù)每個人所擅長的領(lǐng)域來分配工作,如何協(xié)調(diào)人 力資源等,都長短常重要的。而在工作中碰到了題目,團(tuán)隊(duì)?wèi)?yīng)該當(dāng)即想辦法互相匡助來解決。