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