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