軟件開發(fā)當(dāng)中,程序員還會(huì)遇到哪些難題,讓我們稍微說一下:
1、代碼出現(xiàn)問題,該重寫嗎?
許多培訓(xùn)中的學(xué)員開始嘗試寫代碼,往往會(huì)遇到一個(gè)問題,如果代碼出現(xiàn)問題,需要重寫嗎?這么說吧,培訓(xùn)中練習(xí)的代碼并不復(fù)雜,重寫并沒有什么關(guān)系,而對于自己寫的代碼,知道邏輯,修改起來也不難,但在實(shí)際工作中,遇上大項(xiàng)目,重寫代碼可是一件需要慎重的事情。
重寫得出來的結(jié)果真的如你所愿嗎?當(dāng)你選擇拋棄一個(gè)軟件的知識和已經(jīng)收集到的錯(cuò)誤和修復(fù)時(shí),同樣的錯(cuò)誤很可能也會(huì)出現(xiàn)在你的新代碼當(dāng)中,甚至你會(huì)犯下舊版本中的大部分錯(cuò)誤,并帶來一些新的錯(cuò)誤。
我知道,很多程序員看別人寫的代碼很痛苦,心里總有一個(gè)念頭讓你“不要看,快扔掉”,但重寫代碼比起你重新整理那一堆混亂的代碼還要痛苦,bug層出不窮,你就像面對著一只自己制造出來的怪獸,看到它要?dú)拇迩f,卻又無可奈何。時(shí)間方面更值得考量,當(dāng)你用上一年時(shí)間重寫代碼時(shí),你確定你的軟件還會(huì)再次受歡迎嗎?所以,沒有完善的重寫計(jì)劃,不要輕易重寫代碼。
2、如何看待軟件開發(fā)合同,需要注意什么?
理工科的人通常心比較大,做事不很仔細(xì),但做開發(fā)人員卻需要心細(xì),譬如開發(fā)合同的訂立,無論是合理不合理的,你想新增或者去掉某些功能等等,不可以隨意按照自己的意愿去行事,必須按照合同辦事;確實(shí)需要改變時(shí),協(xié)商更改條約,再擬定新合同或者增加補(bǔ)充合同。
為什么這么嚴(yán)謹(jǐn)?合同需要對未來幾個(gè)月或者幾年做出明確的說明,范圍、內(nèi)容、責(zé)任、費(fèi)用、階段付費(fèi)、付費(fèi)形式等等都需要一清二楚,白紙黑字的,才好開展工作。合同不明確,這是成為將來合作不愉快的導(dǎo)火線。
3、遇到技術(shù)難題怎么辦?
有些程序員遇到技術(shù)難題一頭熱,相信自己總能克服,但是時(shí)間不等人,更加可行的方法是疑難外包,記得有人在做項(xiàng)目中遇到了wcf配置相關(guān)的問題,多方嘗試都無法搞定,甚至在解決問題過程中有遇到新問題,最終不得不請求外援。結(jié)果是外援專家兩個(gè)小時(shí)就搞定了,最后支付了五百元的辛苦錢,皆大歡喜。
我們相信問題早晚是可以得到解決的,但如果有一定數(shù)量的用戶,時(shí)間就必須分秒必爭,否則失去了信譽(yù)后,怎么更新、怎么完備的功能都無濟(jì)于事了。
4、如何看待購置成熟的軟件組件?
程序員在開項(xiàng)目會(huì)議時(shí),通常會(huì)討論到一個(gè)問題,那就是讓你發(fā)表想法,如何看待某個(gè)軟件組件,應(yīng)不應(yīng)該購買?面對這樣的問題,你不需要慌張,這就需要計(jì)算時(shí)間成本,例如開發(fā)人員的工資加上公司運(yùn)營費(fèi)用、房租水電、測試成本等等,需要多長時(shí)間來開發(fā),如果購置了這個(gè)軟件組件,時(shí)間成本會(huì)降到多少,如此衡量,利害得失就自然出來了。
往往,購買了新組件的項(xiàng)目團(tuán)隊(duì),因?yàn)榘迅嘈乃加迷诩?xì)處和實(shí)處,出來的產(chǎn)品可能會(huì)更優(yōu)質(zhì)一些。