對(duì)于程序員來(lái)說(shuō)寫(xiě)代碼并不是最難的事情!
大多數(shù)非程序員認(rèn)為軟件開(kāi)發(fā)是非常困難的,確實(shí)如此,但這種困難不像那些外行人理解的那樣。最近在 Quora 上的一次討論,程序員分享了他們認(rèn)為工作中的最大困難,在這里為大家呈現(xiàn)出其中的 9 個(gè)。你可以看到,寫(xiě)代碼并不是最難的事情,如果你也在從事軟件開(kāi)發(fā),看看哪些內(nèi)容你認(rèn)為也是很難的。
1,怎樣才是最佳解決方案
任務(wù)描述:給你一系列的需求,你被要求設(shè)計(jì)和構(gòu)造技術(shù)上的解決方案。這包括了設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu),算法,邏輯上的封裝等等,還要考慮到用戶安全方面的因素。
挑戰(zhàn):確保你的設(shè)計(jì)可以滿足客戶需求,讓客戶認(rèn)為合理。當(dāng)然還要在項(xiàng)目時(shí)間允許范圍內(nèi)。
2,寫(xiě)測(cè)試任務(wù)描述
任務(wù)描述:寫(xiě)單元測(cè)試,確保代碼中每一個(gè)小部分的功能正確。這樣做可以讓你盡早發(fā)現(xiàn) bug,讓你后續(xù)的回歸測(cè)試變得更容易。有些公司甚至鼓勵(lì)開(kāi)發(fā)者在編寫(xiě)程序之前就可以寫(xiě)好測(cè)試程序。
挑戰(zhàn):為每一部分進(jìn)行測(cè)試是一件很枯燥乏味的事情,讓人感覺(jué)是在做多余的事情。
3,編寫(xiě)文檔
任務(wù)描述:撰寫(xiě)文檔,說(shuō)明你代碼的含義并解釋?xiě)?yīng)用的工作原理。這包括了獨(dú)立的文檔文件和代碼注釋,讓更多的人理解你的代碼。
挑戰(zhàn):這是一件耗時(shí)的工作,如果沒(méi)有人去讀它們的話就是純屬浪費(fèi)時(shí)間了。相比于寫(xiě)文檔,程序員還是更愛(ài)寫(xiě)程序。
4,實(shí)現(xiàn)那些你不認(rèn)可的功能任務(wù)描述
任務(wù)描述:有時(shí)候你會(huì)不得不去實(shí)現(xiàn)一些功能和特征,它們不是你的本意,你覺(jué)得它們不應(yīng)該出現(xiàn)在這個(gè)項(xiàng)目里,但是客戶一定要堅(jiān)持如此。
挑戰(zhàn):你需要拋開(kāi)一切個(gè)人的感覺(jué)和意見(jiàn),把時(shí)間和精力專注于客戶提出的功能需求。
5,維護(hù)他人的代碼
任務(wù)描述:有時(shí)候你需要維護(hù)和調(diào)試其他程序員的程序,或一部分代碼。
挑戰(zhàn):你需要用盡一切辦法理解前任開(kāi)發(fā)者的意圖,他是如何設(shè)計(jì)的這些代碼。特別是當(dāng)這些代碼寫(xiě)得很差,也沒(méi)有注釋和文檔可以幫助到你時(shí),那就很糟糕了。
6,與他人打交道
任務(wù)描述:作為開(kāi)發(fā)者,你要從客戶那里得到需求,向經(jīng)理提交報(bào)告,和測(cè)試人員一起工作,更要和其他工程師討論項(xiàng)目。
挑戰(zhàn):你需要向外行人解釋技術(shù)上的事情,有時(shí)候你的工作會(huì)依賴于他人的認(rèn)可或輔助。期間也會(huì)出現(xiàn)你和 QA 人員或其他工程師有不同意見(jiàn)的時(shí)候。
7,預(yù)估項(xiàng)目工期
任務(wù)描述:項(xiàng)目一開(kāi)始的時(shí)候,你要預(yù)估這個(gè)項(xiàng)目的完成需要多長(zhǎng)時(shí)間。
挑戰(zhàn):一般情況下你要預(yù)估的是一個(gè)你之前沒(méi)有做過(guò)的項(xiàng)目,而且你只能基于那些模糊的需求,再給未來(lái)可能發(fā)生的問(wèn)題分配些時(shí)間。
8,解釋我的工作
任務(wù)描述:向周圍的非程序員朋友,家人,同學(xué)解釋你的工作是在做什么,不做什么。
挑戰(zhàn):你愛(ài)的那些人可能不理解你在做什么,而且你還不斷的被問(wèn)及計(jì)算機(jī)相關(guān)的一切問(wèn)題。
9,程序中變量函數(shù)的命名
任務(wù)描述:想出一些名字,為你程序中的變量、過(guò)程、函數(shù)、類、對(duì)象、數(shù)據(jù)庫(kù)等命名。
挑戰(zhàn):即使是很小的程序或應(yīng)用都需要給很多東西命名,你要想出那些適合的,簡(jiǎn)潔的,可以表達(dá)正確含義的一些名字。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!