一、怎樣才是最佳解決方案
任務描述:給你一系列的需求,你被要求設計和構造技術上的解決方案。這包括了設計資料結構,演算法,邏輯上的封裝等等,還要考慮到使用者安全方面的因素。
挑戰:確保你的設計可以滿足客戶需求,讓客戶認為合理。當然還要在專案時間允許範圍內。
二、寫測試
任務描述:寫單元測試,確保程式碼中每一個小部分的功能正確。這樣做可以讓你儘早發現 bug,讓你後續的迴歸測試變得更容易。一些開發的方法論甚至鼓勵開發者在編寫程式之前就可以寫好測試程式。
挑戰:為每一部分進行測試是一件很枯燥乏味的事情,讓人感覺是在做多餘的事情。
三、編寫文件
任務描述:撰寫文件,說明你程式碼的含義並解釋應用的工作原理。這包括了獨立的文件檔案和程式碼註釋,讓更多的人理解你的程式碼。
挑戰:這是一件耗時的工作,如果沒有人去讀它們的話就是純屬浪費時間了。相比於寫文件,程式設計師還是更愛寫程式。
四、實現那些你不認可的功能
任務描述:有時候你會不得不去實現一些功能和特徵,它們不是你的本意,你覺得它們不應該出現在這個專案裡,但是客戶一定要堅持如此。
挑戰:你需要拋開一切個人的感覺和意見,把時間和精力專注於客戶提出的功能需求。
五、維護他人的程式碼
任務描述:有時候你需要維護和除錯其他程式設計師的程式,或一部分程式碼。
挑戰:你需要用盡一切辦法理解前任開發者的意圖,他是如何設計的這些程式碼。特別是當這些程式碼寫得很差,也沒有註釋和文件可以幫助到你時,那就很糟糕了。
六、與他人打交道
任務描述:作為開發者,你要從客戶那裡得到需求,向經理提交報告,和測試人員一起工作,更要和其他工程師討論專案。
挑戰:你需要向外行人解釋技術上的事情,有時候你的工作會依賴於他人的認可或輔助。期間也會出現你和 QA 人員或其他工程師有不同意見的時候。
七、預估專案工期
任務描述:專案一開始的時候,你要預估這個專案的完成需要多長時間。
挑戰:一般情況下你要預估的是一個你之前沒有做過的專案,而且你只能基於那些模糊的需求,再給未來可能發生的問題分配些時間。
八、解釋我的工作
任務描述:向周圍的非程式設計師朋友,家人,同學解釋你的工作是在做什麼,不做什麼。
挑戰:你愛的那些人可能不理解你在做什麼,而且你還不斷的被問及計算機相關的一切問題。
九、程式中的命名
任務描述:想出一些名字,為你程式中的變數、過程、函式、類、物件、資料庫等命名。
挑戰:即使是很小的程式或應用都需要給很多東西命名,你要想出那些適合的,簡潔的,可以表達正確含義的一些名字。
來自:程式師
相關閱讀
評論(1)