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