讓程序員最撓頭的9大任務,你認同幾項?

那些非程序員認爲軟件開發是很是困難的,確實如此,但這種困難不像那些外行人理解的那樣。最近在 Quora 上的一次討論,程序員分享了他們認爲工做中的最大困難,在這裏爲你們呈現出其中的 9 個。你能夠看到,寫代碼並非最難的事情,若是你也在從事軟件開發,看看哪些內容你認爲也是很難的。程序員


1、怎樣纔是最佳解決方案

任務描述:給你一系列的需求,你被要求設計和構造技術上的解決方案。這包括了設計數據結構,算法,邏輯上的封裝等等,還要考慮到用戶安全方面的因素。算法

挑戰:確保你的設計能夠知足客戶需求,讓客戶認爲合理。固然還要在項目時間容許範圍內。數據庫

     

2、寫測試

任務描述:寫單元測試,確保代碼中每個小部分的功能正確。這樣作可讓你儘早發現 bug,讓你後續的迴歸測試變得更容易。一些開發的方法論甚至鼓勵開發者在編寫程序以前就能夠寫好測試程序。安全

挑戰:爲每一部分進行測試是一件很枯燥乏味的事情,讓人感受是在作多餘的事情。數據結構

     

3、編寫文檔

任務描述:撰寫文檔,說明你代碼的含義並解釋應用的工做原理。這包括了獨立的文檔文件和代碼註釋,讓更多的人理解你的代碼。函數

挑戰:這是一件耗時的工做,若是沒有人去讀它們的話就是純屬浪費時間了。相比於寫文檔,程序員仍是更愛寫程序。單元測試

     

4、實現那些你不承認的功能

任務描述:有時候你會不得不去實現一些功能和特徵,它們不是你的本意,你以爲它們不該該出如今這個項目裏,可是客戶必定要堅持如此。測試

挑戰:你須要拋開一切我的的感受和意見,把時間和精力專一於客戶提出的功能需求。設計

     

5、維護他人的代碼

任務描述:有時候你須要維護和調試其餘程序員的程序,或一部分代碼。調試

挑戰:你須要用盡一切辦法理解前任開發者的意圖,他是如何設計的這些代碼。特別是當這些代碼寫得不好,也沒有註釋和文檔能夠幫助到你時,那就很糟糕了。

     

6、與他人打交道

任務描述:做爲開發者,你要從客戶那裏獲得需求,向經理提交報告,和測試人員一塊兒工做,更要和其餘工程師討論項目。

挑戰:你須要向外行人解釋技術上的事情,有時候你的工做會依賴於他人的承認或輔助。期間也會出現你和 QA 人員或其餘工程師有不一樣意見的時候。

     

7、預估項目工期

任務描述:項目一開始的時候,你要預估這個項目的完成須要多長時間。

挑戰:通常狀況下你要預估的是一個你以前沒有作過的項目,並且你只能基於那些模糊的需求,再給將來可能發生的問題分配些時間。

     

8、解釋個人工做

任務描述:向周圍的非程序員朋友,家人,同窗解釋你的工做是在作什麼,不作什麼。

挑戰:你愛的那些人可能不理解你在作什麼,並且你還不斷的被問及計算機相關的一切問題。

     

9、程序中的命名

任務描述:想出一些名字,爲你程序中的變量、過程、函數、類、對象、數據庫等命名。

挑戰:即便是很小的程序或應用都須要給不少東西命名,你要想出那些適合的,簡潔的,能夠表達正確含義的一些名字。


via:程序師

相關文章
相關標籤/搜索