我之前在百度知道組建團隊幫人回答問題的時候,碰到一個我很感興趣的話題,如何成為一個偷懶又高效的Android開發人員 就是今天的主題,問題特別好,但當時回答的太片面,其實一直都有在思考這個問題的答案,隨著經歷的增長,也有了不同的看法。
人生就是一個不斷接受新的思想而推翻過去的一個過程,和軟件開發一樣,唯一不變的就是變化
先分析分析這問題,不知道有沒有人會覺得很矛盾,或者將他曲解為投機取巧,反正我是這樣理解的
利用先進的工具,方法,快速而保質保量的完成自己的工作
先從最好理解的“工具”開始講解
工欲善其事必先利其器,首先,作為android開發者,我不建議再使用eclipse作為開發工具,android studio是很好的選擇,有時候選擇比努力重要,身邊有些培訓經歷的同事告訴我他的培訓老師說“真正的大牛是用的記事本編程的”,我只想說過過嘴癮吹吹牛還是可以的,千萬不要正的聽進去,另外呢,我也不會純嘴皮子說說,了解到大多數android開發者從eclipse轉android studio的困難和疑惑后我寫了幾篇關于android studio方面一些文章,我的文集android studio
熟悉開發工具很重要,很多時候能幫你快速解決一些多而繁瑣的事情,能夠讓你騰出精力做自己真正想要做的事情
再來講講“方法”
任何事情都必有其規律可循,了解他,熟悉它,從而做出聰明的決定,在糊涂的情況人很容易做出愚蠢的決定,我很欣賞一些做錯事情敢于糾正自己的人,有個別較為迂腐,明明錯了,卻一味固執己見,一錯到底,甚至還有一些我將其稱之為小人,為什么這么說呢?不僅不承認錯誤,還將做出錯誤決定的后果一味推卸給他人,說多了,話題有些跑偏了,我要說的方法是有關于軟件工程的。
軟件因需求而存在,因此軟件的生命周期必然和需求息息相關,理解好需求遠遠比急著寫代碼重要,不然你花費精力卻做了一個客戶不需要的產品,這是大家都不想看到的結局。
如何理解客戶所說的需求呢?其實這方面比較無奈,大多數客戶都不能好好描述自己的需求,作為開發者只能發掘和帶一些猜測來實現客戶的需求,作為開發者最崩潰的消息就是需求又改了,我覺得這個問題不能一概而論,存在兩方面,一是客戶真的要改需求,還有就是我們壓根就沒有理解客戶真正的需求。
說了那么多無奈,說點我們開發者力所能及的事情,做好前期的設計工作(軟件設計)和開發過程中的調整(代碼重構)讓自己開發的軟件趨向完善(滿足需求):
軟件設計
以夠用為原則,結合實際需求設計軟件,不要上來就寫代碼,也不要過度設計(有些需求純粹是自己想出來的),制定一個目前切實可行的方案,在開發的過程中通過重構來逐漸完善。代碼重構
優化設計,調整代碼結構層次,等等,隨著開發的深入,對需求的理解也會相對跟深刻,重構需要每天做,而不是等到開始的設計不行的時候再做,這時候為時已晚。
說說怎么樣快而高質量的完成工作
快還不簡單,復制粘貼不就行了,想要做什么功能網上都有現成的輪子,如果你要完全這樣想,那么,恭喜你,你的編程水平還處于程序員搬磚級別(碼農,和工作時間無關),為什么我會這樣說,這樣的“快”是顯而易見的,體現在編碼階段,可以省去不少工作量,但其實開發只占了軟件生命周期的一小部分(舉一個不恰當的例子,好比人生孩子,開發階段相當于生小孩的過程,而維護階段相當于養小孩的過程,對于目前國內許多只開發不維護的軟件就像那有人生沒人養的孩子,很容易夭折的),真正的快是體現在軟件的維護階段,其實代碼重構的作用就是讓軟件變得更容易維護和擴展的一個持續的過程。
說的比較抽象,接下來說細一點,怎么讓自己寫的代碼達到“容易維護和可擴展的”的要求
- 首先,了解軟件的生命周期,深刻理解軟件
- 學習設計模式,幫助理解和解決一些通用的問題和設計出良好的軟件架構
- 理解代碼重構的必要性,重要的事情說三遍(代碼重構,代碼重構,代碼重構)
- 習慣閱讀源碼和閱讀別人寫的代碼,這是程序員提高編程水平的重要途徑,不容忽視,很多人覺得這件事情很好理解但做起來很困難,這里說幾句我閱讀源碼的經驗“走馬觀花,帶著問題去閱讀”
- 了解嘗試最新的技術,保持初學者的姿態,切不可工作5年卻只有1年的實際工作經驗,終身學習才能讓自己保鮮
- 珍惜生命,遠離無節操的加班,尊重生命基本的規律,吃飯,休息,睡覺,運動,陪親人,愛人,孩子,朋友……
- 不要浮躁,急于求成,一步一個腳印,穩扎穩打
最后帶給還在學習中迷茫的同學一碗雞湯
不要怕自己學的技術沒用,只怕自己不會用,不夠用
不要怕比自己先入門的師哥師姐,你想想后面還有學弟學妹呢?
想想那些比我們優秀卻比我們還努力的人,你還有多少時間迷茫和揮霍呢?
人生沒有捷徑,努力吧,少年??!
最后
轉載請注明原文鏈接