1. 程式人生 > >工作感悟之Android系統開發入門

工作感悟之Android系統開發入門

    從離開學校到工作快兩年了,這期間感悟良多,喜悅、悲傷、希望、失望、、、總的說來在曲折中不斷前進,相信乘風破浪會有時,直掛雲帆濟滄海。

    從事Android有些偶然因素,原始打算做WPF相關的開發,或是C#方面的,之前也做過MFC相關的程式設計,對嵌入式程式設計也有所瞭解,總的來說,主要在Windows平臺上,基本算上微軟的忠實跟隨者。但因各種機緣巧合,開始了Android開發之旅,這一開始卻感覺已經出不來了,對於Android來說要學的實在太多,滄海一粟或冰山一角能恰當的形容初入Android開發之門。面對如此龐然大物,剛開始的那些迷茫和無所適從真的讓人窒息,所幸導師能指點一二,切入其中一塊,找到一些共通的地方,爾後以此推之,便得以早點入門。如今想來,很感謝這個過程,花明尚且經歷柳暗,成功更沒有捷徑。

    在學生時代,程式設計多以語法、演算法論英雄,很多時候都想自己來完成某功能,對框架、流程、事務邏輯關心較少。如果帶著這份心態到工作中,肯定碰壁。因為實際工作中,要做的是大量閱讀別人的程式,找出其中的框架,理解業務流程,有些時候根據客戶需求稍加改動即可。或是移植開源程式,引用開源庫等。

    剛開始閱讀別人的程式,首先覺得很敬畏,迫不急待想看大神寫的程式,慢慢的發現很多看不懂,甚至開始抱怨程式註釋太少、變數名取和不好、函式太長、格式有問題、編輯器不習慣等。尤其是從windows上的c、c++轉到Android上去的程式設計師,對大括號的位置和變數命名很是不習慣。再經過一段漫長的時間,發現按這樣的格式寫出來程式也很優雅,甚至覺得Windows上的那些格式有點礙眼了。再到後來瞭解了若干機制之後,發現大神的程式恰到好處,自己補充的註釋的打的點用處不是特別大,不過也不會再去修改。

   經歷完這個過程,應該算是入門了。對Android系統開發人員來說,此時,應該掌握repo、git(svn)、gerrit、adb、fastboot、vim、bash、sourceinsight、notepad++、putty或secureCRT、ssh、sftp、eclipse、adt或android studio等工具的用法,可以進行日常的程式碼修改,燒寫驗證,拉程式碼、review、程式碼上庫等操作,這也是一般開發人員最常見的操作。當把這些工具用得出神入畫時,就可以成為別人眼中的大牛(即使是表面上的)。尤其在熟練使用Linux命令或cmd命令時,會給人一種神祕且高手的感覺。

   在這裡,真的特別感謝為Linux作出貢獻的人,我們現在用的這些命令,都是這些人辛勤勞動的智慧結晶,當我們熟練使用這下命令完成工作時,從來都沒有擔心過這些命令會出問題,所以當我們開發程式時,也要時刻為用的人著想,穩定、高效、方便是我們要不斷追求的。慢慢的就會覺得,程式開發很難,不僅要在功能上滿足苛刻的要求,還要滿足同行自定的程式開發標準。如同寫作文一樣,不僅要言辭優美、內容詳實,還要文字書寫好看,段落結構佈局合理。當然程式中還包括了可擴充套件性等一系統要求。初聽這些可擴充套件、可維護、複用高等術語,覺得有些空,當對作業系統的程式碼和Android框架程式碼有一定的瞭解後,甚至是寫過驅動、寫服務後,會對Linux檔案這一概念印象深刻,從而對可擴充套件也明白了許多。

    工作慢慢進入正軌,但工作畢竟是工作,也只是生活的一小部分,時刻保持一顆平和之心才是正道,此為後話。如果你在學校學習能力強,在工作中同樣不會差到哪兒去,如果學樣能力欠缺些,也不用擔心,多花些時間補上。不過我認為很重要的一個環節,就是入門,正所謂師傅領進門,修行靠個人。入門序篇就此為止。