我的 android 路要怎么走~

ps: 很久了廉邑,就想寫一些這樣的文章哥蔚,申明,鞭策自己在 android 路上好好走下去蛛蒙。長(zhǎng)期連載糙箍,嫌少勿噴!

很多做 android 開(kāi)發(fā)的同學(xué)都想多快好省牵祟,現(xiàn)實(shí)是真的是這樣嗎深夯,借著前人的經(jīng)驗(yàn),我們的目標(biāo)可以更加清晰诺苹,可以計(jì)劃劃分階段去學(xué)習(xí)咕晋,但是學(xué)習(xí)的路是不會(huì)變的,別人會(huì)遇到什么我們也會(huì)遇到什么收奔,別人躺過(guò)的坑我們一樣得趟

接著這里掌呜,我想表達(dá)我們對(duì) android 學(xué)習(xí)之路的理解,也分享我收集到的前人經(jīng)驗(yàn)坪哄,讓前路不再晦暗质蕉,讓腳下的路筆直一些,僅此而已~

很高興小魚同學(xué)在總結(jié)自己的路時(shí)引用了部分我的思想翩肌,這里不是說(shuō)抄襲的事模暗,我高興的是被認(rèn)可~,另外小魚同學(xué)也在經(jīng)營(yíng)自己的微信號(hào)念祭,學(xué)習(xí)資源也是很多的兑宇,我放個(gè)鏈接大家自己去看:

做為一個(gè)人粱坤,我們?cè)诿悦r(shí)該怎么想隶糕,怎么看待自己祝钢,若是你不知道,那么看下面:


繼續(xù)吐槽若厚,分享下自己關(guān)于如何學(xué)習(xí)的想法

我想看我文章的至少都是有1年開(kāi)發(fā)經(jīng)驗(yàn)以上的了拦英,至少都是熟練的初級(jí) coder 了吧,在這個(gè)階段甚至之后的幾個(gè)階段测秸,android 的 coder 們內(nèi)心其實(shí)都是惶恐焦慮的疤估,一是大環(huán)境沒(méi)有以前熱了,找工作的難度提升了霎冯,對(duì) coder 們的要求也是節(jié)節(jié)攀升铃拇;二是 coder 們?cè)趯W(xué)習(xí)過(guò)程中發(fā)現(xiàn)了大量的知識(shí)點(diǎn)和面,這些東西實(shí)在太多了沈撞,看了 A 會(huì)勾連出 BCDEF慷荔,這里面又涉及到大量的 java 等其他知識(shí)點(diǎn),都是比較難搞缠俺,耗時(shí)的

種種以上讓大家變得不再自信了显晶,加之環(huán)境趨緊,所以焦慮由此產(chǎn)生壹士。大家也不必太過(guò)因此而焦慮磷雇,焦慮了也沒(méi)有啊,這些東西遲早都是我們的菜躏救,都得學(xué)唯笙,都得趟過(guò)去,當(dāng)然越早趟過(guò)去越好

這里面就涉及到如何學(xué)習(xí)的問(wèn)題了盒使,會(huì)學(xué)習(xí)的 coder 效率會(huì)很高崩掘,學(xué)的會(huì)比較透,記得會(huì)比較牢少办,并且還會(huì)記錄相關(guān)的技術(shù)博客苞慢,所以學(xué)過(guò)了基本就不用再重復(fù)了

我們?cè)趯W(xué)習(xí)哪些沒(méi)有吸收的知識(shí)點(diǎn)時(shí),基本都是遵循以下原則:

  • 學(xué)習(xí)「自己知道自己不會(huì)」的知識(shí)
  • 全方位的學(xué)習(xí)凡泣,構(gòu)建自己的「知識(shí)體系」
  • 學(xué)習(xí)「自己不知道自己不會(huì)」的知識(shí)

我推薦的學(xué)習(xí)思路:

  1. 學(xué)會(huì)記錄未知
    平時(shí)注意記錄那些沒(méi)聽(tīng)過(guò)枉疼,不了解的點(diǎn),有鏈接的要記下鏈接鞋拟,然后根據(jù)自己的理解分類骂维,分出優(yōu)先級(jí),難易度贺纲,這樣你時(shí)刻都能對(duì)自己有個(gè)清晰的認(rèn)識(shí)航闺,我們手頭不會(huì)的有多少,會(huì)了對(duì)少了,想看的時(shí)候可以馬上找出相關(guān)資料

  2. 學(xué)會(huì)挑選自己能學(xué)會(huì)的
    知識(shí)點(diǎn)是無(wú)限的潦刃,不管我們水平有多高侮措,可以學(xué)的總是有的是,那么我們學(xué)什么呢乖杠?那當(dāng)然是學(xué)那些我們覺(jué)得能自己看懂分扎,可以學(xué)會(huì),在工作中用的近胧洒,用的上的東西啦畏吓,切記去學(xué)習(xí)自己完全看不懂的知識(shí)點(diǎn),學(xué)了也是白學(xué)卫漫。如果這個(gè)知識(shí)點(diǎn)你是一點(diǎn)都看不懂菲饼,那說(shuō)明相關(guān)的基礎(chǔ)知識(shí)你完全空白,要從頭從基礎(chǔ)知識(shí)看起列赎,這好比技能樹宏悦,你還沒(méi)點(diǎn)出來(lái)呢!對(duì)于那些有一半看不懂的知識(shí)點(diǎn)包吝,同樣也說(shuō)明你缺乏相關(guān)的基礎(chǔ)知識(shí)饼煞,想要學(xué)也得從基礎(chǔ)知識(shí)走起,但是相對(duì)難度就低很多了

  3. 學(xué)會(huì)成體系的去學(xué)習(xí)知識(shí)點(diǎn)
    一般大家都知道漏策,大一點(diǎn)的知識(shí)點(diǎn)都有很多小的派哲,相互聯(lián)系的知識(shí)點(diǎn)構(gòu)成臼氨,我們知道的掺喻,不知道的,總之肯定有一些或很多储矩,那么我們碰到一個(gè)陌生的知識(shí)點(diǎn)該怎么去學(xué)習(xí)呢感耙?我建議先去 google,百度持隧,簡(jiǎn)書即硼,掘金各大平臺(tái)上搜索這個(gè)知識(shí)點(diǎn)的關(guān)鍵字,然后粗看下幾十篇或一定數(shù)量的文章屡拨,梳理下該知識(shí)點(diǎn)下面牽連有多少小的知識(shí)點(diǎn)只酥,然后自己記下來(lái),整理分類寫出概述性的文章呀狼,然后先從簡(jiǎn)單的開(kāi)始裂允,按牽連順序一個(gè)個(gè)的學(xué),這樣才能有效的做到成體系的學(xué)習(xí)哥艇。要不東看一榔頭绝编,西看一斧子,到頭來(lái)時(shí)間也是花的不少,大家多半還是有很多漏下的十饥,心里也是感覺(jué)沒(méi)徹底學(xué)通透的樣子窟勃,現(xiàn)在的開(kāi)發(fā)知識(shí)都是成體系的,我們?nèi)W(xué)習(xí)時(shí)也必須成體系才能有效率

  4. 學(xué)會(huì)如何有效的保存學(xué)習(xí)心得
    這是承接上面那條的逗堵,某個(gè)小的知識(shí)點(diǎn)我們終于搞明白了秉氧,學(xué)透了之后呢,其實(shí)大家會(huì)很快遺忘的蜒秤,我自己也是如此谬运!非常通透的理解過(guò)不了幾天就會(huì)開(kāi)始變得模糊不清。目前有效的方法只能是在通過(guò)敲 demo 在代碼級(jí)別搞通透之后垦藏,通過(guò)成體系的寫技術(shù)博文來(lái)實(shí)現(xiàn)梆暖。這樣的好處:一是落于紙面之后,忘了我們可以通過(guò)博文馬上回憶起來(lái) 掂骏;二是我們是成體系的去選擇學(xué)習(xí)的轰驳,中途我們可以隨時(shí)停下來(lái),去做當(dāng)前手頭更要命的事弟灼,完事后再回過(guò)頭來(lái)繼續(xù)這個(gè)知識(shí)點(diǎn)的學(xué)習(xí)级解,因?yàn)橥ㄟ^(guò)之前的摸底已經(jīng)制定出了學(xué)習(xí)順序,繼續(xù)這個(gè)順序去學(xué)習(xí)未完的部分即可田绑。大家在工作時(shí)勤哗,絕大部分空余時(shí)間都是碎片化的简卧,搞得我們?nèi)W(xué)習(xí)新知識(shí)都是一段段的勉躺,上面成體系系統(tǒng)的學(xué)習(xí)方案尤其適合我們

我之前可是吃了不會(huì)學(xué)習(xí)阶祭,不記技術(shù)博文粤攒,不成體系瞎學(xué)習(xí)的大虧啦吊奢,早先學(xué)的啥我現(xiàn)在是一點(diǎn)都想不起來(lái)了题山,可見(jiàn)如何學(xué)習(xí)吩案,會(huì)學(xué)習(xí)是個(gè)大學(xué)問(wèn)啊秀又,也是一個(gè) coder 變得成熟的標(biāo)志涮帘,漫漫 coder 路上對(duì)我們產(chǎn)生影響最大的就是如何去學(xué)習(xí)了拼苍,大家多思考下~

有關(guān)學(xué)習(xí)思路的討論,大家還可以看看下面的文章:


寒冬

18年的冬真冷,大家都在說(shuō)裁員弦叶,其實(shí)裁員一直都在俊犯,只是18年的確多點(diǎn)。android 10年了湾蔓,已經(jīng)積累了太多的技術(shù)瘫析,知識(shí)點(diǎn),技巧,思路贬循,這些前人都會(huì)了咸包,并且正在創(chuàng)造新的思路出來(lái),對(duì)于廣大的底層 coder 來(lái)說(shuō)杖虾,僅僅是追趕就很難了烂瘫,更別提去自己創(chuàng)造了,但是現(xiàn)實(shí)時(shí)我們嘗嘗學(xué)習(xí)了很多開(kāi)源框架奇适,落到實(shí)處就是僅僅會(huì)用而已坟比,不說(shuō)源碼看沒(méi)看過(guò),甚至原理都不知道嚷往,不知道作者用什么技術(shù)實(shí)現(xiàn)的葛账,這點(diǎn)就是廣大 coder 的現(xiàn)狀,沒(méi)有成長(zhǎng)皮仁。

在來(lái)說(shuō)大環(huán)境籍琳,在寒冷的冬天,還是有很多公司再招聘贷祈。在移動(dòng)設(shè)備深入人心的今天趋急,大家誰(shuí)能離得開(kāi)移動(dòng)物聯(lián)網(wǎng)設(shè)備,巨大的設(shè)備保有量決定了移動(dòng)端市場(chǎng)需求還是旺盛的势誊。企業(yè)需要什么的移動(dòng) coder呜达,中高端啊。從我們把頁(yè)面 code 出來(lái)的入門水平開(kāi)始粟耻,成長(zhǎng)到中級(jí)水平查近,說(shuō)實(shí)話還是非常不容易的,事實(shí)是從平均來(lái)看勋颖,2-3年成長(zhǎng)到中級(jí)的人也不是非常多的嗦嗡。企業(yè)再面試時(shí)也只能通過(guò)大量面試才能找到一個(gè)合心的高級(jí)開(kāi)發(fā),此過(guò)程耗時(shí)費(fèi)力饭玲,說(shuō)明大家水平相對(duì)需求來(lái)說(shuō)還是太低,有待繼續(xù)加強(qiáng)叁执!

冬天冷的不是市場(chǎng)茄厘,是處于行業(yè)低端的我們,移動(dòng)開(kāi)發(fā)行業(yè)谈宛,不進(jìn)步就會(huì)死次哈,永遠(yuǎn)也不會(huì)改變,大家悶頭努力一年吆录,我們都能有個(gè)好收獲的窑滞,再去面試機(jī)會(huì)機(jī)會(huì)大很多。


薪酬

安卓中高級(jí)開(kāi)發(fā)面試之——未來(lái)的路,送給正在迷茫的你 的作者告訴我們哀卫,沒(méi)超越 20K 巨坊,說(shuō)明你的安卓做的還不夠好。

一方面此改,技術(shù)能力趾撵,知識(shí)面太窄了。建議多個(gè)模塊功能都嘗試一下共啃。不能僅僅在自己公司的項(xiàng)目上占调,其他方面都不太精通。這樣的結(jié)果移剪,對(duì)自己發(fā)展不太好究珊。(比如,對(duì)自己公司的功能做的賊好纵苛。賊了解苦银。問(wèn)一個(gè)其他方面功能模塊,就不知道了赶站。建議多方面都發(fā)展幔虏,并且多做數(shù)據(jù)分析。比如百度指數(shù)贝椿,阿里指數(shù)想括,APP功能指數(shù),今日頭條指數(shù)烙博。然后自己往這些方向發(fā)展一下瑟蜈。比如2018年-2020年,項(xiàng)目中小視頻渣窜,社區(qū)中小視頻铺根,直播,都會(huì)在項(xiàng)目中添加乔宿。這方面經(jīng)驗(yàn)豐富的人需求很高)位迂。

第二:有的同學(xué)是真的有能力,會(huì)做详瑞;但是能繼續(xù)深入的理解原理掂林,或者知道原理了,自己怎么去解決問(wèn)題(而不是百度解決)的能力就差一點(diǎn)了坝橡。比如很多人在面試中都面臨的泻帮,不會(huì)說(shuō),但是你會(huì)寫计寇,能寫出來(lái)锣杂。為什么不會(huì)說(shuō)脂倦,因?yàn)椴皇乔宄到y(tǒng)的理解,所以不能回答的很好元莫。

現(xiàn)實(shí)是我們夯實(shí)技術(shù)赖阻,擴(kuò)展知識(shí)面之后,20K 是比較容易達(dá)到的柒竞,但是想過(guò) 30K 就很難了政供。那些能在 github 寫自己開(kāi)源項(xiàng)目,比如 okhttp朽基,retrofit 布隔,rxjava 這樣重量級(jí)開(kāi)源框架的 coder 才能過(guò) 50K 。著期中的差距稼虎,大家自己體會(huì)吧衅檀,努力可以過(guò) 20k,長(zhǎng)久不停的努力積累之后才有過(guò) 30K 的希望霎俩,道路任重道遠(yuǎn)哀军,大家努力珍重。再著期中要平衡工作打却,生活杉适,家庭,健康是個(gè)大問(wèn)題柳击,唯有高效率才是根本出路~


寒冬中如何度日

很高興有一些朋友在滿大街的負(fù)面文章中能保持一顆平靜的心猿推,分享一些有正能量的文章,讓我總算是在冬日里能暖和下了

上帝總是偏愛(ài)那些愛(ài)思考的人捌肴,愛(ài)思考的人運(yùn)氣一般也不會(huì)太差蹬叭,在 哪有什么互聯(lián)網(wǎng)寒冬?只是你穿的少而已状知! 一文中秽五,作者大概聊了聊關(guān)于思考的話題,我覺(jué)得大家應(yīng)該去看看饥悴,然后思考下自己

技術(shù)是我們的基本盤坦喘,但不是全部,最近阿里不是放話了嗎铺坞,以后其他崗位的盡量挑有技術(shù)背景的起宽,我看到這種思想漸漸再國(guó)內(nèi)獲得認(rèn)同,越來(lái)越多的公司都在更考慮有技術(shù)背景的人济榨,這是我們的機(jī)會(huì),年齡大了绿映,年紀(jì)到了擒滑,總是只有很少的一部分人才能順利的晉升管理崗位腐晾,其他的同學(xué)必須面臨轉(zhuǎn)崗,轉(zhuǎn)崗不是換行業(yè)丐一,產(chǎn)品藻糖,項(xiàng)目經(jīng)理,運(yùn)營(yíng)等等其他我們 coder 都可以干库车,這些崗位需要的技術(shù)巨柒,知識(shí)點(diǎn)相比 coder 來(lái)說(shuō)簡(jiǎn)直是小巫見(jiàn)大巫,在我們平時(shí)對(duì)這些崗位有深入了解柠衍,有深入的交流經(jīng)驗(yàn)洋满,有深刻的認(rèn)識(shí)后,我們 coder 轉(zhuǎn)這些崗位其實(shí)不難珍坊,很快就能上手牺勾,但是這需要我們提前考慮好自己轉(zhuǎn)崗的位置,平時(shí)要多去專注阵漏,交流驻民, 學(xué)習(xí),能再本公司內(nèi)轉(zhuǎn)崗是最好的了履怯,這樣公司會(huì)對(duì)大家比較寬容

coder 們要是打算換工作了回还,那就不要研究其他的了,就專心 android 技術(shù)吧叹洲,python柠硕,H5 等穩(wěn)定下來(lái)再說(shuō)吧,我們畢竟是做 android 開(kāi)發(fā)的疹味,找的也是 android 開(kāi)發(fā)的工作仅叫,其他方向雖然更好但不是公司考慮的重點(diǎn)。

先活著才能考慮更多糙捺,分享些正能量的文章給大家打打氣:


怎么劃分 android 水平

我想只有對(duì) android 開(kāi)發(fā)又通盤了解的人才能走的更遠(yuǎn)坎缭,了解自己是首要的,我處于什么水平签钩,下一步重點(diǎn)的學(xué)習(xí)方向掏呼,目標(biāo)是什么,這樣才能有的放矢铅檩,不浪費(fèi)時(shí)間

通常我們知道 android水平可以劃分為:入門憎夷,初級(jí),中級(jí)昧旨,高級(jí)拾给,資深祥得。

但是這樣的劃分對(duì)我們沒(méi)有什么指導(dǎo)意義,不同層級(jí)的Android開(kāi)發(fā)者的不同行為蒋得,我們?cè)撊绾芜M(jìn)階和規(guī)劃级及? 的作者把 android 劃分為4個(gè)層級(jí):

  • 第一層:普通程序員
  • 第二層:熟練開(kāi)發(fā)者、高級(jí)開(kāi)發(fā)工程師额衙、技術(shù)組長(zhǎng)
  • 第三層:技術(shù)專家饮焦、架構(gòu)師、一線經(jīng)理
  • 第四層:科學(xué)家窍侧、研究員县踢、首席(資深)架構(gòu)師、部門研發(fā)總監(jiān)

我覺(jué)得這樣劃分疏之,不叫有實(shí)際意義殿雪,大家可以去閱讀一下看看每個(gè)階段的技術(shù)標(biāo)志是什么,有不錯(cuò)的指導(dǎo)意義锋爪,處于作者對(duì)于達(dá)到每一個(gè)層級(jí)的時(shí)間我不敢茍同外丙曙,其他我是比較贊同的

關(guān)于技術(shù)水準(zhǔn)劃分的有很多,我先說(shuō)這么多啊其骄,期待我以后的更新吧~

另一個(gè)很 Nice 的 android 水平劃分亏镰,為了不被鎖定我就不復(fù)制了,大家去看源地址:


理理 android 技術(shù)點(diǎn)

不知道大家聽(tīng)到?jīng)]聽(tīng)到拯爽,在 “ 寒冬 ” 今天索抓,還有部分公司員工們通過(guò)各種方法爭(zhēng)搶被裁的名額,就是為了拿到那幾個(gè)月的補(bǔ)償呀毯炮!面對(duì)這種不愁找工作的大佬逼肯,男單我們不應(yīng)該臉紅做點(diǎn)什么嗎~

android 開(kāi)發(fā)想進(jìn)階,下面的點(diǎn)基本漫步過(guò)去桃煎,都得會(huì)篮幢,不光是提升我們的 coder 水平,面試時(shí)也是要問(wèn)的呀

  • 各大開(kāi)源框架的研究为迈,包括但不限于下面幾個(gè) OKhttp/Retrofit/eventbus/Glide/eventbus/Rxjava/blockcanary/mvvp/dagger2三椿、
  • 組件化是基本要會(huì)的,插件化大公司要求會(huì)實(shí)操的
  • flutter/Dart 大家要開(kāi)始學(xué)了葫辐,就和當(dāng)年我們學(xué) kotlin 一樣搜锰,flutter 基本一錘定音了,google 下一代就是 flutter 的天下了
  • java 部分耿战,包括 常見(jiàn)的數(shù)據(jù)結(jié)構(gòu)和算法蛋叼,hashmap,二叉樹剂陡,紅黑樹鸦列,apt 注解租冠,aop 插樁鹏倘,整套多線程知識(shí)點(diǎn)薯嗤,包括ThreadLocal實(shí)現(xiàn)原理
  • android 的系統(tǒng)原理,Lru算法纤泵,Binder機(jī)制骆姐,EventBus實(shí)現(xiàn)原理和為什么不能跨進(jìn)程,跨進(jìn)程幾種方式捏题,AIDL玻褪,handler機(jī)制
  • 音視頻開(kāi)發(fā),直播公荧、點(diǎn)播带射、音視頻通話、音視頻會(huì)議循狰,短視頻窟社,這些不一定要多深入,但是基本的各大平臺(tái)的 SDK 要會(huì)集成绪钥,能根據(jù)開(kāi)源的 嗶哩嗶哩 IJKMediaPlayer 編寫自己的視頻灿里,音頻播放模塊、
  • 高級(jí)UI程腹,各種性能優(yōu)化那是不比說(shuō)了

上面這些單獨(dú)拿出那一項(xiàng)匣吊,都是考試良久的了,大家自己算算寸潦,給你多少時(shí)間能搞定上面這些色鸳,但是一旦大家搞定了上面這些,那么大家至少不怎么愁面試了吧见转,運(yùn)氣好的還能借此進(jìn)入一家不錯(cuò)的有成長(zhǎng)命雀,回報(bào)優(yōu)秀的公司,現(xiàn)在最舒服的地方不是打公司池户,而是那些業(yè)務(wù)優(yōu)秀的中型公司了咏雌,人不多,事少校焦,組織還沒(méi)開(kāi)始僵化赊抖,人少待遇也能保證的不錯(cuò),業(yè)務(wù)優(yōu)秀有成長(zhǎng)沒(méi)有裁員的擔(dān)憂寨典,公司氛圍也有輕松愉快氛雪,這就是我想去的天堂啊 ~

然后在圖像這塊大家想深入的話,下面的是跑不了:

  • 圖形圖像開(kāi)發(fā)耸成,不限于OpenGL ES报亩,EGL浴鸿,GLSurfaceView,濾鏡弦追,美顏岳链,canvas,paint
  • 應(yīng)用層開(kāi)發(fā)劲件。主要還是原生開(kāi)發(fā)掸哑,提高性能優(yōu)化技能(啟動(dòng)耗時(shí)、內(nèi)存零远、耗電苗分、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)牵辣、穩(wěn)定性等)摔癣,達(dá)到高級(jí)開(kāi)發(fā)者的水準(zhǔn)
  • 深入Android專業(yè)技能提升。主要是閱讀源碼纬向,理解透Android開(kāi)發(fā)常見(jiàn)的流程和原理(activity啟動(dòng)流程择浊、事件分發(fā)機(jī)制、廣播機(jī)制罢猪、Binder機(jī)制近她、內(nèi)存管理機(jī)制等)
  • 向Android架構(gòu)師發(fā)展。從平時(shí)的一點(diǎn)一滴開(kāi)發(fā)中膳帕,有意訓(xùn)練Android架構(gòu)設(shè)計(jì)能力粘捎,這需要站在一個(gè)更高的角度來(lái)統(tǒng)籌App開(kāi)發(fā)。
  • 跨平臺(tái)開(kāi)發(fā)能力危彩。如RN攒磨、Weex、Flutter等汤徽。大部分公司目前都需要有跨平臺(tái)開(kāi)發(fā)能力娩缰,所以我們很有必要提高這方面的能力
  • SDK和框架開(kāi)發(fā)≮烁可以通過(guò)研究開(kāi)源項(xiàng)目或者實(shí)際項(xiàng)目開(kāi)發(fā)拼坎,抽象提取有用SDK和框架供其他人使用
  • 研究Android安全開(kāi)發(fā)。App加固原理和實(shí)現(xiàn)完疫,熟悉常見(jiàn)加密方式(如:RSA泰鸡、DES等)、Https壳鹤、支付安全等盛龄。
  • Android自動(dòng)化測(cè)試工具開(kāi)發(fā)。這需要對(duì)ADB、Android截圖余舶、Android布局解析啊鸭、Android測(cè)試框架等相當(dāng)熟悉
  • 音視頻開(kāi)發(fā)。前兩年比較火的直播匿值,還有這一兩年比較火的短視頻赠制,都是與音視頻相關(guān)。所以千扔,我們可以了解音視頻的編解碼以及傳輸協(xié)議等憎妙。
  • 手游開(kāi)發(fā)。游戲給鵝廠帶來(lái)了穩(wěn)定的收入曲楚,所以這也是不錯(cuò)的方向。這就需要熟悉常見(jiàn)的游戲開(kāi)發(fā)框架cocos2d-x褥符、Unity3D
  • 圖像開(kāi)發(fā)龙誊。比如美圖秀秀、天天P圖喷楣,都用到圖形的合成趟大、濾鏡等技術(shù),對(duì)圖像處理有很高要求铣焊。
  • Android Framework 開(kāi)發(fā)

高級(jí)工程師必備能力

我的這篇文章比較雜逊朽,什么都記錄一點(diǎn),都是關(guān)于 android 進(jìn)階的曲伊,我們的目標(biāo)是成為一個(gè) NB 的 coder叽讳,這里我盡量向大家描述清楚一個(gè)高玩該是什么樣子的,有樣學(xué)樣坟募,我們也知道怎么去進(jìn)步不是

我借 : offer收割機(jī)必備 里的幾句話

1. 系統(tǒng)設(shè)計(jì)能力

因?yàn)槿绻銉H僅是對(duì)各種各樣的技術(shù)都熟悉岛蚤,有技術(shù)廣度,也有一定的技術(shù)深度懈糯,實(shí)際上是不夠的涤妒。如果你的系統(tǒng)設(shè)計(jì)能力不到位,可能導(dǎo)致你在開(kāi)發(fā)系統(tǒng)的時(shí)候會(huì)亂用技術(shù)

比如說(shuō)赚哗,有的系統(tǒng)他有一些自己特殊的業(yè)務(wù)場(chǎng)景和技術(shù)挑戰(zhàn)她紫,實(shí)際上在這個(gè)場(chǎng)景之下比較合適的是采用 “緩存 + 數(shù)據(jù)庫(kù)” 的技術(shù)方案來(lái)應(yīng)對(duì)

但是呢,有的工程師會(huì)很多技術(shù)屿储,但是缺少這種準(zhǔn)確的分析系統(tǒng)問(wèn)題贿讹,提出合理的技術(shù)方案的能力,也就是缺少系統(tǒng)設(shè)計(jì)能力扩所,導(dǎo)致他可能會(huì)引入Elasticsearch這種技術(shù)來(lái)嘗試解決這個(gè)問(wèn)題

那么結(jié)果必然是失敗的围详。所以之前很多人找我問(wèn)問(wèn)題,說(shuō)我在XX場(chǎng)景下,用了XX技術(shù)助赞,但是沒(méi)有起到我想要的那個(gè)結(jié)果啊

我?guī)退豢绰蛐撸@不是必然的么,你的XX技術(shù)應(yīng)該用在YY場(chǎng)景下雹食,結(jié)果你用到XX場(chǎng)景下畜普,肯定是不行的。
這就是系統(tǒng)設(shè)計(jì)能力的重要性


怎么寫好我們的代碼

我想這都是大家貫徹始終的終極追求了吧群叶,我記得最深的一句話:不管如何吃挑,你的代碼得先能讓人看。這是我在剛剛?cè)胄袝r(shí)街立,一個(gè)老司機(jī)指導(dǎo)我的舶衬,隨著我在學(xué)習(xí)的深入,了解的更多赎离,我們?cè)诨竟ι系淖非蟛痪褪菫榱舜a更加好看嗎逛犹,好看的代碼才更好懂,才能好改梁剔,設(shè)計(jì)模式虽画,代碼架構(gòu),框架設(shè)計(jì)荣病,MVP(多端分離) 不都是追求的這個(gè)最終結(jié)果嘛

好看的代碼除了我們要學(xué)習(xí)不限于上述的各種知識(shí)码撰,更是體現(xiàn)在我們平時(shí)的對(duì)于代碼的態(tài)度上,這體現(xiàn)在我們的平時(shí)的代碼規(guī)范上个盆,今天我看到一篇文章:程序員:為什么幾個(gè)月后前我自己寫的代碼也看不懂了脖岛? 把我平時(shí)想說(shuō)的都說(shuō)出來(lái)了

這是平時(shí)的我們:

  • 代碼沒(méi)有注釋
    對(duì)于復(fù)雜的業(yè)務(wù)來(lái),沒(méi)注釋這是要逼死下面的小伙伴啊砾省,過(guò)個(gè)2-3月鸡岗,一樣得逼死自己啊,這一坨寫的是什么玩意编兄,要死的心啊.......
  • 面向過(guò)程去寫代碼
    好復(fù)雜呀轩性,看不懂呀,方法好長(zhǎng)啊呀狠鸳,媽媽我看不懂怎么辦呀揣苏。雖然寫的時(shí)候很爽 ,但是之后再去改件舵,再去加功能時(shí)卸察,那時(shí)我們的心一定是崩潰的,不好改铅祸,不好加坑质,費(fèi)事費(fèi)力是肯定的合武,然后越改越加越亂越難懂,最后沒(méi)法維護(hù)了涡扼,誰(shuí)有寫過(guò)這樣的代碼稼跳,都別躲...... 所以啊,設(shè)計(jì)模式吃沪,框架設(shè)計(jì)汤善,面向接口編程,功能分離票彪,架構(gòu)層次分離红淡,應(yīng)運(yùn)而生
  • 代碼變量名稱隨意
    通篇的 x,a降铸,b在旱,c,temp1垮耳,temp2颈渊,temp3 這都是什么玩意,結(jié)合上下文都搞不懂终佛,真不知道當(dāng)初怎么寫的,編碼一直要求我們見(jiàn)名知意雾家,我現(xiàn)在是深刻理解到了見(jiàn)名知意的好處铃彰,真的是非常快捷芯咧,非常 Nice 的體驗(yàn)牙捉,這里我要說(shuō)一點(diǎn),google 的英文起名也不是非常好敬飒,有的單詞邪铲,真他媽想抽他...
  • 每個(gè)方法分工不明確
    一個(gè)方法里你寫上 100 行,你讓別人怎么看无拗,代碼你又怎么復(fù)用带到,同樣的代碼你不抽象出來(lái),處處復(fù)制是要私人的

那么我們?cè)趺崔k英染,做到以下:

  • 實(shí)現(xiàn)功能前先設(shè)計(jì)好代碼
    好的框架層次揽惹,讓我們可以快速的了解整個(gè)框架實(shí)現(xiàn),快速的找到想要的代碼四康,優(yōu)秀準(zhǔn)確的名字我們可以知道類是干什么的搪搏,
  • 注釋寫的盡量詳細(xì)
  • 不要寫太長(zhǎng)的方法
  • 不要寫太“牛”的代碼了
    有的程序員喜歡寫非常有個(gè)性的代碼闪金,喜歡寫一些別人很難看懂的代碼疯溺,他認(rèn)為這樣才能顯示出自己的“高水平”,這樣就不是高水平了,只能說(shuō)代碼的可讀性太差了囱嫩,我們要寫出傻瓜式代碼恃疯,也就是說(shuō)讓很傻的程序員都能看懂,"傻瓜式代碼" != "低性能代碼”哈挠说,這一點(diǎn)要分開(kāi)
  • 中國(guó)人就別寫英文注釋了

功夫在詩(shī)外

我們做到 5-10 年的時(shí)候澡谭,技術(shù)就不是唯一的敲門磚了,甚至不是最重要的了损俭,而是技術(shù)以外的東西:人脈蛙奖,名望、履歷杆兵,以及漸漸成型的言談舉止雁仲,等等。但這些東西琐脏,如何通過(guò)“刻意的練習(xí)”(新學(xué)的詞)來(lái)獲得攒砖,但是只要在于自己平時(shí)有意識(shí)的嘗試,積累日裙,提高

比如我平時(shí)在公司的技術(shù)分享我都是要求每個(gè)人像正式演講一下吹艇,聽(tīng)得人做好,拍好昂拂,認(rèn)認(rèn)真真拿筆做記錄受神,講的人配合黑板,大屏幕格侯,在有高度的臺(tái)階上努力做到最好的自己鼻听,不結(jié)巴,思想連貫联四,能現(xiàn)場(chǎng)發(fā)揮撑碴,我還常常和講臺(tái)上的人互動(dòng),帶著他多說(shuō)說(shuō)自己的想法朝墩,等你熟悉了這個(gè)環(huán)境醉拓,這種氛圍,這種事鱼辙,無(wú)形中你就會(huì)說(shuō)話廉嚼,會(huì)演講,氣場(chǎng)也就培養(yǎng)出來(lái)倒戏,當(dāng)然這不是全部怠噪,更多的還有,比如你怎么去和產(chǎn)品杜跷,UI傍念,運(yùn)營(yíng)溝通矫夷,看看別人的工作內(nèi)容是什么,有什么困難憋槐,哪些方面涉及到開(kāi)發(fā)双藕,甚至是別人的全部 u 工作內(nèi)容,工作技能阳仔,這樣你就擁有了區(qū)別與別人的橫向擴(kuò)展能力忧陪,在公司一個(gè)能和不同部門之間有效溝通,建立聯(lián)系近范,解決問(wèn)題嘶摊,梳理矛盾的技術(shù)人員比一個(gè)單純的技術(shù)人員要重要的多,同時(shí)這樣的人也更容易晉升评矩,職業(yè)道路越是網(wǎng)上會(huì)走叶堆,越是要接觸更多的部門,擁有和這些部門協(xié)作的能力將是至關(guān)重要的斥杜,推薦看下這篇文章虱颗,發(fā)自肺腑的講述你該怎么在技術(shù)之外成長(zhǎng):程序員,別帶著耳機(jī)工作了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蔗喂,一起剝皮案震驚了整個(gè)濱河市忘渔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缰儿,老刑警劉巖辨萍,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異返弹,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)爪飘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門义起,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人师崎,你說(shuō)我怎么就攤上這事默终。” “怎么了犁罩?”我有些...
    開(kāi)封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵齐蔽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我床估,道長(zhǎng)含滴,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任丐巫,我火速辦了婚禮谈况,結(jié)果婚禮上勺美,老公的妹妹穿的比我還像新娘。我一直安慰自己碑韵,他們只是感情好赡茸,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著祝闻,像睡著了一般占卧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上联喘,一...
    開(kāi)封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天华蜒,我揣著相機(jī)與錄音,去河邊找鬼耸袜。 笑死友多,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的堤框。 我是一名探鬼主播域滥,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蜈抓!你這毒婦竟也來(lái)了启绰?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤沟使,失蹤者是張志新(化名)和其女友劉穎委可,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體腊嗡,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡着倾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了燕少。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卡者。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖客们,靈堂內(nèi)的尸體忽然破棺而出崇决,到底是詐尸還是另有隱情,我是刑警寧澤底挫,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布恒傻,位于F島的核電站,受9級(jí)特大地震影響建邓,放射性物質(zhì)發(fā)生泄漏盈厘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一涝缝、第九天 我趴在偏房一處隱蔽的房頂上張望扑庞。 院中可真熱鬧譬重,春花似錦、人聲如沸罐氨。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)栅隐。三九已至塔嬉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間租悄,已是汗流浹背谨究。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泣棋,地道東北人胶哲。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像潭辈,于是被迫代替她去往敵國(guó)和親鸯屿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 以下文章轉(zhuǎn)載自知乎,暗滅-京華九月秋近寒把敢,浮沉半生影長(zhǎng)單. 暗滅 京華九月秋近寒寄摆,浮沉半生影長(zhǎng)單 10,850 人...
    ve追風(fēng)_685b閱讀 4,097評(píng)論 1 15
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,435評(píng)論 2 45
  • 加班至現(xiàn)在修赞,感覺(jué)象迎新年婶恼!守夜一樣!不想多說(shuō)柏副,只想休息了…
    TA留柱閱讀 91評(píng)論 0 0
  • 江城子·乙卯正月二十日夜記夢(mèng) 十年生死兩茫茫勾邦, 不思量, 自難忘割择。 千里孤墳检痰, 無(wú)處話凄涼。 縱使相逢應(yīng)不識(shí)锨推, 塵...
    書僮閱讀閱讀 448評(píng)論 0 0
  • 我們的認(rèn)識(shí)很久了 初次相見(jiàn)到再次相見(jiàn)你痞痞的樣子加上偶爾說(shuō)大話的語(yǔ)氣是我這么多年想到你唯一的印象 對(duì)你的印象很好 ...
    我就叫索索閱讀 597評(píng)論 0 0