" />

国产99福利精品视频|杨幂精品国产福利在线|国精品午夜福利视频不卡|欧美精品黄网站在线播放|精品国产乱码久久久久久久|国产大片中文字幕在线观看|国产肥熟女视频一区二区三区|国产乱码无码视频一区二区三区

軟件開發(fā)難嗎?

來源:長沙北大青鳥大計校區(qū)|發(fā)布時間:2016-06-22 15:21:25

軟件開發(fā)中最大的難題不是編寫程序,寫代碼只是按照邏輯去實現(xiàn)功能,這相對于開發(fā)者需要做的其他事情來說簡單直接多了。如果你還是一個不算資深的業(yè)余程序員,那你一定要在真正的走向職業(yè)道路前確?梢越鉀Q下面這些障礙。

1032130.jpg
 
1.向外行解釋你在做什么
 向外行解釋軟件開發(fā)的過程是極其困難的。雖然很多人知道編程,但他們終究是不會寫程序的人,在他們看來,程序員的生活就是整天在一間小黑屋里趴在鍵盤前,消耗著很多咖啡。你會從你的朋友,親人,同事嘴中聽到這些話,他們認為這不是一個恰當?shù)穆殬I(yè)。
 
2.形象的說出解決方案
你會經(jīng)常接到一些簡潔的,但通常表意不明的需求。比如現(xiàn)在有一個商業(yè)方面問題的需求,你就要根據(jù)它來設(shè)計數(shù)據(jù)結(jié)構(gòu),程序架構(gòu),算法,接口和一些其他技術(shù)層面的東西來構(gòu)造這個問題的解決方案。關(guān)鍵的是,你要用大家都可以理解的語言,并在有限的時間內(nèi)把解決方案講給客戶,但事實是很多開發(fā)者都做不好這件事情。
 
3.評估工期
這恐怕是很多程序員的痛苦之源。對于程序員來說,去評估一項從未做過的項目所需要花費的時間是極其困難的。你可能寫過相似的代碼,但現(xiàn)在的環(huán)境,問題和限制條件都發(fā)生了變化。雖然經(jīng)驗會有一些幫助,但大多數(shù)程序員還是低估了問題的難度,通常因為程序員只考慮了編程方面的問題,而忽略了其他相關(guān)的事情。
 
4.借鑒他人的代碼
有很多種方法可以得出解決方案,但是借鑒他人的代碼,在這個基礎(chǔ)上編程需要花很多精力和時間,因為你要去思考他們是如何構(gòu)思的。而且,如果這些半成品的程序還沒有留下注釋和文檔記錄,你就會更困難了。
 
5.面對項目需求的漸變和奇異的功能
雖然敏捷開發(fā)在一定程度上允許了需求的漸變,但并不意味著需求變化是一件好事,如果再加上一些客戶由于一時沖動提出的奇怪需求,你就更苦惱了。你知道這樣做一定會失敗,你的團隊也知道,但這是客戶的要求,而且錯誤的發(fā)生也是你的責任,因為你沒有站在他們的角度看問題。
 
6.在缺乏優(yōu)化和過度優(yōu)化間找到平衡點
 復(fù)雜的軟件永遠做不到絕對的完美,因為總有更優(yōu)的方法去完善它。你可以無限制的不斷優(yōu)化你的代碼,這也就是為什么項目不會提前完成。而另一方面,你有時也會有“這樣就行了,我以后再去優(yōu)化它”的想法。這樣的程序目前可以正常運行,但明天可能就會出現(xiàn)錯誤。當然了,你也可以不用管它,等著下一個用它的程序員去優(yōu)化。
 
7.測試
你也許自己進行了單元測試,也把軟件交付給了測試組,但bug依然存在。軟件通常是復(fù)雜的,包含了成千上萬行代碼,其中有數(shù)不清的交互接口和路徑,把這些全都測試到是很困難的;類似的,你的軟件會在不同的環(huán)境下和不同的軟件交互,所以也不可能測試到每一種可能性;寫好一個完善的單元測試是一項枯燥且困難的工作,理想情況下,測試程序的編寫應(yīng)該在軟件開發(fā)前就進行,但是你要向你的客戶解釋清楚為什么一個月過去了卻還是沒有可用的軟件;單元測試不會發(fā)現(xiàn)所有的問題。理想條件下,一個項目應(yīng)該有一個單獨的測試團隊,他們可以積極主動的,盡可能的去找程序中的問題,但這對大多數(shù)項目來說是一件需要很大花銷并耗時的事情,所以就讓開發(fā)人員同時負責測試的任務(wù)。但是,這樣的測試是考慮不到很多邊界和極端情況的;程序員通常是在用理性的邏輯處理問題,但是客戶通常不這樣,他們會發(fā)現(xiàn)很多你意料之外的問題。
 
8.寫開發(fā)文檔
給項目寫文檔記錄是一件費力耗時的工作, 幾乎沒有開發(fā)者喜歡或擅長它,不愿意花時間閱讀它們。

9.處理各種IT問題
你每天都和技術(shù)打交道,你也許是一個HTML或PHP程序員,但你可能還要解決一些其他問題,比如硬盤損壞,驅(qū)動沖突或軟件報錯。這些雖然都不是你的主要工作,但如果你不去解決這些問題,你就不能繼續(xù)你的開發(fā)任務(wù)。不幸的是,在那些非IT領(lǐng)域的人的眼里,你什么都知道。當他們遇到IT方面的問題時,他們不會花時間自己解決,而是去尋求你的幫助,而且不管什么問題,因為你是搞計算機的,比如如何將工資單導(dǎo)入Sage,如何配置Oracle,或者為什么他們的藍莓手機發(fā)送郵件失敗。也許,這些干擾不會影響到你的日常工作,但真的不會嗎?
 
10.與他人打交道
這些問題都可以歸結(jié)為“與人打交道”的問題。沒有外行人會指導(dǎo)飛行員如何開飛機,或給電工如何布線提建議,但是他們很愿意給軟件開發(fā)“勇敢”地提出建議。現(xiàn)在可能還沒有辦法避免這樣的事情發(fā)生,你只能接受這樣的事實:世界上有一半人的智力是低于平均水平的! 
上一篇:PHP和Java在Web開發(fā)方面的四大對比
下一篇:軟件開發(fā)專業(yè)發(fā)展前景

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學(xué)校地址: 長沙市天心區(qū)團結(jié)路6號

Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有

湘ICP備14017520號-3

關(guān)注我們
在線咨詢
嘿,我來幫您!