軟件開發(fā)過程中最艱巨的任務(wù)是什么?達(dá)內(nèi)軟件開發(fā)部的工程師們發(fā)現(xiàn)他們大部分人認(rèn)為在軟件開發(fā)過程中最艱巨的任務(wù)其實(shí)不是代碼。
珠海達(dá)內(nèi)軟件開發(fā)工程師們:寫代碼是一種鍛煉,一種邏輯思維上的鍛煉,相比于開發(fā)人員在日常工作中要執(zhí)行的其他任務(wù),它可顯得可愛多了。如果你覺得自己才剛剛跨入這個行業(yè),只能算個業(yè)余程序員,那么為了確保能躋身專業(yè)領(lǐng)域,有些障礙你必須得克服……
軟件開發(fā)工程師
1.解釋做了什么
解釋軟件開發(fā)過程是很讓人崩潰的一件事。那些不會寫代碼的家伙可能在這一行有所了解,但是正如定義所說的,他們不會寫代碼。在他們眼中,我們就是一群待在昏暗的房間中弓著背噼里啪啦敲鍵盤的程序猿。
2.可視化解決方案
假設(shè)給定一組簡單的——難聽點(diǎn)說就是考慮不周的——需求,你需要制定數(shù)據(jù)存儲庫、代碼結(jié)構(gòu)、算法、通信協(xié)議,以及只要能解決業(yè)務(wù)問題就得去完成的各種技術(shù)內(nèi)容。然后,還需要用一種通俗易懂,哪怕是外行人也能明白的方式解釋出來,并在規(guī)定期限內(nèi)交付給客戶。
這個時候,那真的只能靠經(jīng)驗(yàn)了。但是大多數(shù)程序員會低估時間,原因可能是因?yàn)樗麄冎豢紤]了編碼這部分而忽略了其他。
3.優(yōu)化不足和過度優(yōu)化之間的平衡
復(fù)雜的軟件永遠(yuǎn)達(dá)不到完美的境界。我們不可能無限制地優(yōu)化,這也是為什么軟件項(xiàng)目從不在規(guī)定日期到來之前發(fā)布的原因。
另一方面,很多人都會抱有“先就這樣吧——以后再來改進(jìn)”的心態(tài)?,F(xiàn)在這些代碼是可以好好工作,但是這些人也明白這會成為明日的煩惱和失敗。當(dāng)然,你不會再來修復(fù)和調(diào)試了,它們會被留給下一個可憐的開發(fā)人員。
軟件開發(fā)程序員
4.測試代碼
既可以自己編寫單元測試,也可以組團(tuán)通過軟件來測試,不過不要妄想能發(fā)現(xiàn)所有bug……
想要編寫出好的單元測試是一件既繁瑣又艱難的工作。在理想情況下,測試應(yīng)該在軟件開發(fā)項(xiàng)目開工之前就寫好——但是要是我們先寫這個的話,我們怎么向客戶解釋四個星期過去了為什么一點(diǎn)進(jìn)程都沒有?
單元測試不會突出顯示每一個bug。雖然我們都希望能有一個專門的小組來編寫測試然后積極去發(fā)現(xiàn)問題,但是由于現(xiàn)實(shí)條件的限制——成本控制和時間限制,這對于很多項(xiàng)目而言都是奢望,所以大都需要開發(fā)團(tuán)隊(duì)自己來編寫測試。而他們在編寫時總是會無意識地避免任何不妥當(dāng)?shù)倪吔缜闆r。
程序員會用一種邏輯方式去解決問題,但是用戶很少會這樣做;所以有時候用戶會幫我們找到一些我們自己察覺不出來或者根本想不到的問題。
5.和人打交道
上述任務(wù)通通可以總結(jié)為“如何與人打交道”。令人奇怪的是,非專業(yè)人士不會去指點(diǎn)飛行員應(yīng)該如何駕駛飛機(jī),也不會跑去和電工說我的房子需要重新布線等等,但是他們卻非常喜歡在軟件開發(fā)上面指手畫腳,提供各種異想天開的點(diǎn)子。
珠海達(dá)內(nèi)軟件開發(fā)部工程師們:軟件開發(fā)過程中需要工程師們認(rèn)真、細(xì)心、各個環(huán)節(jié)要做到無縫對接。這樣才能事半功倍!
-
開發(fā)工程師
+關(guān)注
關(guān)注
1文章
91瀏覽量
14935
發(fā)布評論請先 登錄
相關(guān)推薦
評論