當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]作為一個熱愛文學(xué)的Android程序員,我堅信古往今來最遺憾的戰(zhàn)略就是辛棄疾的《九議》,連辛棄疾的敵人滅亡南宋后都感慨:“使宋果用之,吾安得至此?”。盡管我沒有

作為一個熱愛文學(xué)的Android程序員,我堅信古往今來最遺憾的戰(zhàn)略就是辛棄疾的《九議》,連辛棄疾的敵人滅亡南宋后都感慨:“使宋果用之,吾安得至此?”。盡管我沒有帶著一大堆種樹書穿越回去改寫“卻將萬字平戎策,換得東家種樹書”的歷史的機(jī)會,但我可以為廣大Android程序員策劃了九條提高編程效率的方案,讓大家在提高編程效率的路上少走幾步彎路。

 


【圖:Android Studio的界面】

一、精良的開發(fā)工具

所謂“工(程師)欲善其事,必先利其(編譯)器”,想要提高寫代碼的效率,必須先改良自己寫代碼的工具,所謂工具包括但不限于可以摸的機(jī)械鍵盤、人體工學(xué)座椅、程序員鼓勵師(好像有什么奇怪的東西混進(jìn)來了),更重要的是IDE、AVD和VCS等軟件。

只要不是在特別坑爹的團(tuán)隊,Android開發(fā)的IDE一定是Android Studio,而同樣使用Android Studio的程序員的編程效率的差距就體現(xiàn)在“File->Setting”上,給Android Studio設(shè)置大點的字號和柔和點的顏色能給你的眼睛一個舒服的開發(fā)環(huán)境。Android Studio也有豐富的插件,比如,合理利用這些插件能讓你的編程工作事半功倍。

即使在一個崗位只有一個人的小團(tuán)隊,VCS也是不可或缺的。VCS的意義不止代碼備份和共享那么簡單,版本分支的管理也離不開它。目前最常見的VCS是Git,如果你是一個懷舊的程序員,也可以選擇SVN。

二、寫代碼之前的準(zhǔn)備工作

在寫代碼之前,盡可能排除妨礙編程效率的不穩(wěn)定因素也是提高編程效率的因素之一。

開始編程之前最重要的準(zhǔn)備工作就是和產(chǎn)品經(jīng)理溝通,明確需求,排除不靠譜的需求。如果遇到必須要在需求不靠譜的情況下立即開始開發(fā)的情況,比如RecyclerView的item左拉既是翻到下一個tab又是拉開右邊“刪除”和“收藏”的抽屜(和iOS保持一致)的操作等不靠譜需求要盡可能拖著,拖到最后說不定就不用做了。

開始編程之前準(zhǔn)備工作的第二步就是要準(zhǔn)備好一些技術(shù)難題的前期調(diào)查和解決方案,比如自動填寫短信驗證碼如何繞過權(quán)限驗證、利用ThreadPool分批上傳大文件如何斷點續(xù)傳等,這些問題不要等到開始編程的時候才去想。

開始編程之前最后一項準(zhǔn)備工作就是寫出偽代碼,不要嫌寫兩份幾乎一模一樣的代碼麻煩,不提前發(fā)現(xiàn)自己眼高手低更降低編程效率。

三、設(shè)計模式和架構(gòu)

設(shè)計模式是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計經(jīng)驗的總結(jié),強(qiáng)調(diào)的是針對單一問題的解決方法。。盡管使用設(shè)計模式能提高開發(fā)效率,但因為很多設(shè)計模式都是犧牲運(yùn)行性能換取開發(fā)效率的,所以必須謹(jǐn)記不要濫用設(shè)計模式。

架構(gòu)是高層次的針對體系結(jié)構(gòu)的一種設(shè)計思路,多種設(shè)計模式的合理組合就成了架構(gòu)。目前Android最流行的架構(gòu)是MVP,當(dāng)然小而美的App可以選擇更簡單的MVC架構(gòu),而功能齊全的百科全書式App則要選擇條理更清晰的MVVM架構(gòu)。

四、清晰的注釋

好的注釋是不一定要長,但一定要精。一目了然、簡明扼要的注釋能大大提高明天(或者下個月,反正是未來時間)的編程效率;而不好的注釋卻能讓你維護(hù)自己寫的爛代碼時感受到一股跨越時空的惡意。注釋不是萬能的,比如“以下所有l(wèi)eft代表右,所有right代表左”的注釋肯定不如把left和right重新定義一遍對編程效率的益處大。

五、開源代碼和第三方服務(wù)

GitHub上Android的開源框架和工具類數(shù)量僅次于JavaScript,浩如煙海的開源代碼不但可以讓程序員的編程效率提高,學(xué)習(xí)開源代碼的原理和變化更是一個提高自身能力的過程。

很多常見的功能,比如推送、短信驗證碼、第三方登錄、社交分享、LBS、IM、Crash分析、移動廣告等都是第三方服務(wù)的用武之地,公司不大到一定規(guī)模誰也不會自己搭建IM服務(wù)器吧!第三方SDK魚龍混雜,有些第三方SDK能讓你三天兩頭遇到莫名其妙的bug,但更多的第三方SDK能助你提高開發(fā)的效率。

六、老代碼的大規(guī)模重構(gòu)

所謂重構(gòu),就是改進(jìn)已經(jīng)寫好的軟件的設(shè)計。最常見的原因就是隨著依賴的庫的版本的更新,老的代碼變得不合時宜,比如OkHttp 3.5以后的版本的WebSocket操作就不需要插件實現(xiàn)了,我們在依賴OkHttp 3.7的時候就要改寫OkHttp 3.4.1時候的WebSocket有關(guān)的代碼。

大規(guī)模重構(gòu)的另一個原因是前任程序員水平的問題,很多“面向百度編程”的程序員離職后交給現(xiàn)任程序員的是一個千瘡百孔的爛攤子。我見過同一個App同時依賴Glide和Fresco的情況,因為前任實現(xiàn)圖片的模糊特效只會用Fresco,實現(xiàn)圖片的多點觸摸只會用Glide。重構(gòu)這些代碼不僅能解決App臃腫的問題,也能提高我們接下來工作中的編程效率。

七、培養(yǎng)新人

在IT社區(qū)分享開源代碼,是幫助陌生的同行;在團(tuán)隊里培養(yǎng)新人,是幫助比你工作年限短的同事。不常用的異常解決方案分享給同事,自己的記憶也會變得越發(fā)深刻;反之如果生怕同事的技術(shù)水平超過自己而不肯培養(yǎng)新人,那么請牢記這個典故:外國的希臘火、我國的黑火藥都在不同的歷史時期多次被“重新發(fā)明”,生怕別人知道,保密保得連自己都忘了。

培養(yǎng)新人還有一個好處,就是把簡單、重復(fù)但手生就容易出錯的工作讓新人去坐,既能讓他牢記layout_gravity和gravity的區(qū)別,又能給你自己騰出研究如何實現(xiàn)dex差量替換和gc原理的時間,是一個一舉兩得之舉。

八、保持身體健康

身體是革命的本錢,好身體是好的工作、學(xué)習(xí)狀態(tài)的基礎(chǔ)。程序員是大腦發(fā)達(dá)、四肢簡單的腦力工作者,身體常常處于亞健康狀態(tài),對編程效率有嚴(yán)重的負(fù)面影響。為了坐在辦公的條件下保證身體健康,我們可以多喝水,既能改善血液循環(huán),又能增加起身上廁所的次數(shù);在屏幕前擺一盆多肉植物,既能吸收讓皮膚變得暗淡油膩的輻射,又能緩解視覺疲勞。

九、無憂熊編程法

所謂無憂熊編程法,就是在辦公桌或者電腦機(jī)箱上擺一只憨態(tài)可掬的無憂熊,當(dāng)你遇到bug或者瓶頸的時候,你把你的每一行代碼的作用或者每一行l(wèi)ogcat的問題都和它說說,很可能它就會發(fā)動神奇的技能,讓你一下子恍然大悟。這不是封建迷信,如果你上學(xué)時候曾經(jīng)是學(xué)霸,你一定有過這樣的經(jīng)歷:暗戀的女生請教你一個問題,你手舞足蹈給她講解:第一遍她沒懂,第二遍她沒懂,第三遍你自己懂了。[!--empirenews.page--]

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉