成為更好的Android開發(fā)者前,我們需要注意的31個細(xì)節(jié)

作者:Aritra Roy,Google認(rèn)證Android開發(fā)者。

原文鏈接:https://blog.aritraroy.in/30-bite-sized-pro-tips-to-become-a-better-android-developer-b311fd641089

成為一名Android工程師很容易,但要成為卓越的Android開發(fā)者卻并不簡單。要做到這一點,需要付出很多努力、激情,還有毅力。畢竟,沒有捷徑可以讓我們速成。

在想要成為卓越Android開發(fā)者的前提下,興許我過往經(jīng)驗中的一些開發(fā)小技巧,對你的開發(fā)有所裨益。接下來,我們就不費口舌,直接分享吧。

1.更加熟悉Android框架內(nèi)部構(gòu)件

這里討論的熟悉不是指文檔,而是使用實際的Android框架代碼。我看到很多開發(fā)人員害怕深入了解Android框架內(nèi)部的內(nèi)容,害怕探究其實際如何工作,以及不同的部件如何恰如其分的組合在一起。

如果你真的希望在這場Android開發(fā)游戲中獲得更高的段位,請嘗試接觸Android SDK的內(nèi)部工作,并開始關(guān)注它吧。

2.盡量避免錯失恐懼癥(FoMo)

Android涉及的面很大,非常大。通常情況下,我們無法在一兩個月的時間完全吃透這個系統(tǒng)。學(xué)到的越多,我們就越發(fā)認(rèn)為自己無知。作為一個初學(xué)者,有不知道的東西以及對不知道這件事感到恐懼是非常正常的。

然而,我們還是需要盡可能避免這種情緒。事實上,我們需要做的是學(xué)以致用,先要了解我們開發(fā)App真正需要學(xué)習(xí)的東西,然后再緩慢擴展視野。

3.習(xí)慣閱讀更多的代碼

大多數(shù)開發(fā)人員沒有時間閱讀其他開發(fā)人員正在撰寫的內(nèi)容,他們大部分時間都在寫他們已經(jīng)知道的內(nèi)容。

但這不會增加你的知識,也不會幫助你的成長。我們應(yīng)該多去查看其他開源應(yīng)用程序和庫,多去學(xué)習(xí)。每天30分鐘的代碼閱讀是一個很好的開始,長此以往,你會驚奇地發(fā)現(xiàn)已經(jīng)掌握了很多不了解的新事物。

4.考慮學(xué)習(xí)更多的語言

學(xué)習(xí)西班牙語或中文或許對開發(fā)作用并不明顯,但新的編程語言可能就不一樣了。作為開發(fā)者,我們需要隨時隨地了解行業(yè)變遷,而不是僅將自己僅限于Android。

而了解外部環(huán)境的變化,不僅能拓展我們的視野,還將幫助我們顯著提高Android開發(fā)技能。我們需要下決心每年至少學(xué)習(xí)一種新的編程語言,而且不要蜻蜓點水一般,要嘗試進入語言的深度以及它在內(nèi)部的工作。

5.是時候?qū)W習(xí)Java設(shè)計模式了

從長遠(yuǎn)來看,我無法判斷這對于你的Android開發(fā)職業(yè)而言重要性如何。然而,遇到關(guān)鍵編程問題的時候,設(shè)計模式總能幫你構(gòu)建一套優(yōu)雅的解決方案。

我們還需要與其他開發(fā)人員在同一頻道上,以便他們在討論使用Factory Pattern、Decorator Pattern、和Fa?ade Pattern的時候,我們知道他們在說什么。

讓自己給自己一個承諾吧,每周學(xué)習(xí)一種新設(shè)計模式。

6.給開源貢獻代碼

如果您開發(fā)了一些有用的東西,并在自己的應(yīng)用程序中使用了它,那么請考慮開源,因為你將會在這個過程中學(xué)到很多東西。

如果你沒有可以開源的項目,那么也可以考慮查看其他有趣的開源項目,嘗試做一些修復(fù)錯誤、改進文檔或者測試的工作。即使是一些看上去微不足道的貢獻也將有助于項目的發(fā)展,保持項目的穩(wěn)定運行。

7.讓你的IDE更加得心應(yīng)手

接下來,我們還需要開始花更多的時間了解正在使用的IDE——Android Studio。實際上,它的潛力比你想象的要大得多。IDE中隱藏了許多酷炫的功能和快捷方式,而大多數(shù)開發(fā)者并不知道甚至從未嘗試去探索過這些功能。

慢慢的,我們可以養(yǎng)成一個挖掘工具亮點的習(xí)慣,進而改善工作流程、提高生產(chǎn)力。

8.是時候正確構(gòu)建你的應(yīng)用程序了

大多數(shù)時候,我們的代碼都集中在Activities或Fragments中,這讓它們變成了幾乎不可能維護和測試的怪獸。

構(gòu)建App時采用一個諸如MVP、MVVM、Redux這樣的良好的架構(gòu),是非常重要的。開發(fā)時,我們需要注意將應(yīng)用程序的業(yè)務(wù)邏輯、視圖交互和數(shù)據(jù)交互分為不同的層次,使其易于管理和測試。

9.學(xué)習(xí)如何寫出干凈的代碼

這一點不容忽視。在我們身邊,有大量連代碼最基本的整潔度都無法保證的開發(fā)人員。

對大部分開發(fā)者來說,學(xué)習(xí)的Java和Android編碼準(zhǔn)則并不難,也花費了不了太多時間。學(xué)習(xí)寫出干凈的代碼并非一次性任務(wù),而應(yīng)當(dāng)是開發(fā)者的程序生涯的質(zhì)量改變。

10.花點時間了解Android最佳實踐

為了讓自己比其他開發(fā)人員更有優(yōu)勢,并開發(fā)出看起來很棒的應(yīng)用程序,我們需要開始學(xué)習(xí)一些Android開發(fā)的最佳實踐。而往往這些實踐能幫助我們成為更好的開發(fā)人員,讓我們開發(fā)的App脫穎而出。

11.通過聽播客來有效利用你的空閑時間

嘗試正確、有效地利用你的時間。當(dāng)你上下班的時候,在健身房鍛煉,開車,烹飪的時候,你天才般的大腦并沒有做太多的事情。你可以通過利用這樣的時間來聆聽一些資源豐富的Android相關(guān)的頻道,并盡可能地使你的大腦占有有用和翔實的東西。

12.不要老是用程序化的思路做事

這種情況不僅發(fā)生在我身上,而且也發(fā)生在我開發(fā)同事的身上。在開始工作之前思考一下是非常棒的做法,但過度的思考和分析也會導(dǎo)致不必要的混亂,拖延和焦慮。

所以我們最好的選擇是選擇并做好現(xiàn)在看上去很正確的選擇,并保持自己隨時適應(yīng)不斷變化的情況的能力。

13.嘗試了解設(shè)計

在大眾的認(rèn)知當(dāng)中,開發(fā)者的工作重心應(yīng)當(dāng)是學(xué)習(xí)如何更好的書寫代碼,而我也非常理解這種認(rèn)知。但是,如果想成為一名全能的開發(fā)人員,我們還應(yīng)該每天花時間學(xué)習(xí)和了解UI和UX設(shè)計。

相信我,這將完全改變我們過去的編程方式。與團隊中的UI和UX設(shè)計人員進行充分交流,將非常有助于我們更好地了解應(yīng)用程序設(shè)計。

14.追求完美

完美是一個主觀的詞匯,更多時候這個詞應(yīng)當(dāng)針對自己而非他人。而作為最好的開發(fā)者,我們當(dāng)然應(yīng)該盡可能開發(fā)出最棒的產(chǎn)品,并且總是如此。

別將就,不要為了工作而工作。要熱愛你正在做的工作,要做得比別人更好。堅持下去,我們就能在這場長跑中取得勝利。

15.堅持是成功的最大補給

如果您想成為Android開發(fā)大牛,你需要堅持。

虎頭蛇尾從來都不會帶來什么實質(zhì)性的改變,我們需要的是堅持。堅持朝著你夢想中的方向前進,并矢志不渝。

從0到1總歸是簡單的,但是否能夠長時間保持激情和奉獻精神,才是我們努力不白費的關(guān)鍵。

16.從小切入,緩慢擴張

作為開發(fā)者,把復(fù)雜的問題分解為小而簡單且獨立的問題之后,我們才能輕松、快速地理解和解決問題。

不要因為項目太大或者過于復(fù)雜而變得不知所措。相信自己,一旦你在正確的軌道上,一切都可以解決。小口插入,然后才能庖丁解牛。

17.保證總有一個練手項目

有一個練手項目能夠極大的改變你此前的認(rèn)知。因為你一旦有了一些新的思路和解決方案,就可以在這個項目中去嘗試和實踐。

試想,你發(fā)現(xiàn)一個有趣的Android庫,你不用在文檔和API琢磨時間,直接殺去實踐是一種何等美妙的體驗。我相信,這也將使你對這個庫的了解更加深刻。

18.更多測試

對于測試的重要性,強調(diào)無意義。我們需知道的是,在進行詳盡測試之前,我們都不能確定功能是否開發(fā)完畢,而測試將幫助你重塑對代碼的自信。

不要誤以為測試是一個可選項,而就此忽略了測試,你以后的日子會很痛苦的。記住,沒有測試編寫的代碼很快就會成為你的坑。

19.考慮采用TDD

當(dāng)您開發(fā)應(yīng)用程序時,請考慮以強大而有效的方式選擇構(gòu)建應(yīng)用程序,以便能夠經(jīng)受住時間的考驗。

開始遵循TDD的“紅-綠重構(gòu)”周期。首先將失敗的測試用例(紅色)寫出,然后寫入實際代碼,使測試通過(綠色),然后進一步清理和優(yōu)化代碼。(重構(gòu))。

測試驅(qū)動的開發(fā)是在編程過程中管理恐懼的一種方式。恐懼讓你猶豫,恐懼讓你沉默,恐懼讓你逃避反饋,恐懼使你脾氣暴躁。

20.設(shè)置正確的自動釋放機制

作為開發(fā)人員,應(yīng)該讓自己盡可能少地參與那些可以自動化的事,比如應(yīng)用程序質(zhì)量檢查和發(fā)布。

你應(yīng)該使用CheckStyle、PMD、Lint、FindBugs等工具自動完成質(zhì)量檢查機制。在合并這樣的重大調(diào)整之前,所有單元和儀器測試都必須跑一遍。

當(dāng)所有這些檢查通過時,你就可以將APK發(fā)布到Play Store,或以任何其他方式分發(fā)(如Crashlytics Beta)。

21.擁抱反應(yīng)式編程方法

如果你想提高你的Android開發(fā)技能,你一定要考慮采用反應(yīng)式的方法,這將迫使您以完全不同的方式思考您構(gòu)建的應(yīng)用程序。

反應(yīng)靈敏的方式肯定會幫助你更快地編寫交互式應(yīng)用程序,并使你的開發(fā)生活更輕松又有趣。

22.學(xué)習(xí)使用Kotlin進行Android開發(fā)

Kotlin目前是Android開發(fā)中最受人關(guān)注的語言之一,也是開發(fā)Android應(yīng)用程式的正式支持語言,這種易于使用的語言為Android的世界帶來了新鮮空氣。

對那些厭倦了老套、冗長且容易出錯的Java的開發(fā)者來說,Kotlin是Android開發(fā)行業(yè)的新曙光。嘗試一下,你一定會在你的發(fā)展生活中找到失去的幸福。

23.參與更多的社交活動

我們的開發(fā)人員往往很內(nèi)向,喜歡和我們的電腦坐在一個角落。

但是請嘗試走出舒適區(qū),并與其他開發(fā)人員進行更多的互動。當(dāng)你參加開發(fā)者聚會、社交聚會和與具有類似興趣的其他開發(fā)人員交談時,會學(xué)到很多要學(xué)習(xí)的東西。

24.熟悉鍵盤快捷鍵

盡可能使用鍵盤快捷鍵而不是鼠標(biāo),幾乎每個要在Android Studio中執(zhí)行的操作都有鍵盤快捷鍵。

快捷鍵將大大減少我們的開發(fā)時間并改善工作流程。記住鍵盤快捷鍵最初可能需要一些時間,但從長遠(yuǎn)來看,它將幫助您實現(xiàn)真正無鼠標(biāo)的工作流程。

25.每周至少了解一個新Android產(chǎn)品

在Android的巨大世界中,有很多東西要學(xué)習(xí)和理解。當(dāng)你進入這個世界時,最初可能會壓倒你。但是,如果我們讓自己每個星期學(xué)習(xí)一件新產(chǎn)品,事情將變得容易很多。

列出你不知道的所有事情,為他們分配先后順序,每周解決一個陌生面孔。幾個月后,你會發(fā)現(xiàn)已經(jīng)走得很遠(yuǎn)了。

26.用自動化節(jié)約時間

我們的工程師,因為出生而懶惰,總是試圖找到一個簡單的方法來做一個無聊的工作。

所以,如果你需要每天做一些重復(fù)和無聊的事情,那么請考慮自動化。累積下來,它節(jié)省你相當(dāng)多的時間。而你,則可以把這些時間放在其他生產(chǎn)和有用的事情上,減少你的焦慮。

27.考慮運行兩個版本的AndroidStudio

我們需要確保所有重要的事情,都有一個穩(wěn)定的Android Studio版本來執(zhí)行。同時,我們還要考慮保持安裝最新Android Studio的金絲雀或測試版本。

有時候,相比前代,新版本往往有許多新的和令人興奮的功能,你也應(yīng)該對此很有興奮感。

28.經(jīng)常審核您所有的第三方庫

大多時候,我們都喜歡使用庫,這也是非常好的。但是同時,我們還要養(yǎng)成檢查三方庫的習(xí)慣,需要定期檢查并刪除不再需要的第三方庫。

如果您僅使用特定庫的一小部分,那么請考慮提取該部分,而不是使用整個庫。偶爾的檢查也將幫助您更新更快的更新庫。

29.學(xué)習(xí)重構(gòu)代碼

重構(gòu)代碼,不要試圖一次完成。這樣做會讓你陷入陷阱,而且無法逃脫。

我們應(yīng)該考慮重構(gòu)現(xiàn)在工作需要的代碼庫的部分,然后在需要時慢慢地擴展到其他部分。另外,要先編寫測試用例,然后再處理你懷疑的可能會影響現(xiàn)有功能的任何代碼。

30.始終在低端設(shè)備上開發(fā)和測試

如果你想開發(fā)一個專業(yè)的應(yīng)用程序,別在高端設(shè)備上測試。一般來說,我們開發(fā)人員擁有高端的旗艦產(chǎn)品,并用于開發(fā)和測試應(yīng)用程序,但這是你應(yīng)該避免的東西。

嘗試在市場上找到最便宜的和最低端的設(shè)備,并使之成為專門的開發(fā)測試機。在這些設(shè)備上,你會發(fā)現(xiàn)此前并不了解的App缺陷。

31.購買你能買得起的最好的工作機器

千萬不要購買低端工作機器,這會讓你的開發(fā)變得很蛋疼。

請考慮使用Mac進行開發(fā),你會愛上它的簡單性和穩(wěn)定性。

現(xiàn)在,如果您正在購買一臺MacBook,請選擇最高配。幾百加元不會傷害你,你會永遠(yuǎn)感謝你做出這個決定。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,940評論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,540評論 19 139
  • 文/蕭讓 上午 我垛餡 姥姥和面 姥姥搟面皮兒 我包餃子 姥爺燒鍋 我和姥姥 姥爺說著話 水燒好了 下了餃子 我們...
    蕭讓聽雪閱讀 360評論 0 2
  • 有一天,法慧大師和兩位弟子在經(jīng)堂里誦經(jīng),突然聽到"嗡——嗡——"的叫聲。小和尚叫流水,他悄聲地對師兄說:"師兄,你...
    金色童話閱讀 675評論 0 0
  • 明天就要大暑,一年中最炎熱的夏季時節(jié)。出生在南方的我,最怕的是冬天的嚴(yán)寒,而非酷暑。但是近幾年的上海,夏天的高溫讓...
    柚子花開Renee閱讀 275評論 0 0

友情鏈接更多精彩內(nèi)容