[56→100]Android端開(kāi)發(fā)效率如何提升4488倍蚕涤?

為什么要流水線?為了提升效率4488倍纸肉!

流水線出來(lái)之前,汽車工業(yè)完全是手工作坊型的溺欧。每裝配一輛汽車要728個(gè)人工小時(shí)喊熟。這一速度遠(yuǎn)不能滿足巨大的消費(fèi)市場(chǎng)的需求.所以使得汽車成為富人的象征。

1913年,福特應(yīng)用創(chuàng)新理念和反向思維邏輯提出在汽車組裝中姐刁,汽車底盤在傳送帶上以一定速度從一端向另一端前行芥牌。前行中,逐步裝上發(fā)動(dòng)機(jī)聂使、操控系統(tǒng)壁拉、車廂、方向盤柏靶、儀表弃理、車燈、車窗玻璃屎蜓、車輪痘昌,一輛完整的車組裝成了。第一條流水線使每輛T型汽車的組裝時(shí)間由原來(lái)的12小時(shí)28分鐘縮短至10秒鐘炬转,生產(chǎn)效率提高了4488倍辆苔!

Android項(xiàng)目開(kāi)發(fā)如何流水線化?

對(duì)于編程這樣的智力密集型活動(dòng)返吻,能做到流水線式的生產(chǎn)嗎姑子?
對(duì)Android開(kāi)發(fā)而言,這個(gè)答案是可以做到测僵。

主流水線包含以下工序:

  1. 按照產(chǎn)品詳細(xì)需求街佑,設(shè)計(jì)框架,切分成module捍靠。
  2. 實(shí)現(xiàn)Module:
  3. 按照產(chǎn)品原型設(shè)計(jì)沐旨,將每個(gè)module細(xì)化為頁(yè)面的Fragment類。
  4. 按照產(chǎn)品視覺(jué)設(shè)計(jì)榨婆,繪制每個(gè)Fragment的xml磁携。
  5. 按照產(chǎn)品視覺(jué)設(shè)計(jì),結(jié)合butterfork等工具良风,實(shí)現(xiàn)各個(gè)按鈕的點(diǎn)擊跳轉(zhuǎn)谊迄,將各個(gè)頁(yè)面連接在一起。
  6. 按照服務(wù)端接口文檔烟央,封裝所有數(shù)據(jù)Model的結(jié)構(gòu)和網(wǎng)絡(luò)加載接口统诺。
  7. 按照產(chǎn)品視覺(jué)設(shè)計(jì),寫好數(shù)據(jù)展示類的數(shù)據(jù)獲取疑俭、展示(可能涉及到特殊的View控件封裝粮呢,比如圖表等);
  8. 按照產(chǎn)品視覺(jué)設(shè)計(jì),寫好數(shù)據(jù)上傳類的數(shù)據(jù)提交啄寡、展示(可能涉及到特殊的View控件封裝豪硅,比如時(shí)間控件等);
  9. 按照產(chǎn)品原型設(shè)計(jì)挺物,結(jié)合EventBus等工具懒浮,優(yōu)化跳轉(zhuǎn)結(jié)構(gòu),設(shè)計(jì)Module內(nèi)的Event事件產(chǎn)生和消耗识藤,并實(shí)現(xiàn)嵌溢;
  10. 編譯Module,生成apk蹋岩,做模塊測(cè)試
  11. 將各個(gè)Module組裝在一起赖草,生成目標(biāo)apk,做整體的系統(tǒng)測(cè)試剪个。

除了主流水線秧骑,還可以建立輔助流水線來(lái)生產(chǎn)特殊的控件,比如

  • 圖表顯示控件
  • 日期選擇控件
  • 時(shí)間選擇控件
  • 圖片選擇控件
  • 緩存管理控件
  • 數(shù)據(jù)庫(kù)管理控件
  • 網(wǎng)絡(luò)連接管理控件
  • ……等等

這些輔助流水線通晨勰遥可以放在項(xiàng)目預(yù)研期開(kāi)始乎折。Android開(kāi)發(fā)人員在等待產(chǎn)品詳細(xì)需求、產(chǎn)品原型設(shè)計(jì)侵歇、產(chǎn)品視覺(jué)設(shè)計(jì)骂澄、服務(wù)端接口文檔時(shí)進(jìn)行這項(xiàng)工作,即可以提前預(yù)估項(xiàng)目的技術(shù)風(fēng)險(xiǎn)惕虑,也有利于合理規(guī)劃后面的工期坟冲,防止人員空轉(zhuǎn)。

編程流水線化和汽車流水線的異同和由此帶來(lái)的影響溃蔫?

相同點(diǎn) 是 相鄰的兩個(gè)工序 由不同的人完成健提。這樣做有兩個(gè)好處:

  1. 界限清晰,每個(gè)工序可以在不同的領(lǐng)域內(nèi)做自身的精深訓(xùn)練伟叛,完成積累私痹;
  2. 每個(gè)工序依賴上一道工序的產(chǎn)物,因此工序間形成約束關(guān)系统刮,有利于趁早發(fā)現(xiàn)上個(gè)工序的問(wèn)題紊遵,及時(shí)修正。同時(shí)這也是培訓(xùn)新員工的好方便侥蒙,便于大家對(duì)中間產(chǎn)物保持同樣的理解暗膜。

不同點(diǎn)是 汽車流水線上是實(shí)物操作,每道工序可以切分的非常細(xì)致辉哥,輸入輸出非常明確桦山,因此工作技能培訓(xùn)難度很低,每個(gè)人都可以輕易學(xué)會(huì)醋旦。
而編程是一項(xiàng)智力密集型活動(dòng)恒水,流水線上流動(dòng)也是虛擬的文檔、代碼饲齐,所以在編程流水線上钉凌,彼此很容易模糊自身職責(zé)邊界,順手就把別人的問(wèn)題解決了捂人,別人的事情做了御雕,達(dá)不到流水線的效果。這種現(xiàn)象在磨合初期是難以避免的滥搭,需要通過(guò)相應(yīng)的培訓(xùn)來(lái)強(qiáng)化大家的分工理念酸纲。

編程流水線化對(duì)程序員帶來(lái)的影響

  1. 可以專工某一個(gè)領(lǐng)域,不斷沉淀瑟匆,在效能上不斷提升闽坡。
  2. 可以透過(guò)換崗的形式與周圍工種進(jìn)行技能交換,快速獲得別人沉淀的經(jīng)驗(yàn)愁溜。

怎么做到4488倍疾嗅?不會(huì)唬我吧

流水線對(duì)于汽車生產(chǎn)的作用,是將工種細(xì)化到極致冕象,降低對(duì)工人綜合素質(zhì)的要求代承,同時(shí)由于工種的細(xì)化使得整個(gè)每個(gè)工種的專業(yè)度上升,效率大幅提升渐扮。

對(duì)開(kāi)發(fā)而言论悴,原理是一樣的。所以要想做到效率提升墓律,方向就是兩個(gè):

  1. 細(xì)化工種意荤,降低從業(yè)人員的需求。
  2. 研究每個(gè)工種的特性只锻,制定相應(yīng)的專業(yè)度提升方案玖像。

比如,對(duì)xml繪制人員而言齐饮,把市場(chǎng)上排名前100的應(yīng)用都看一遍捐寥,然后抽取通用的樣式,形成模板庫(kù)祖驱,以后制作xml的時(shí)候握恳,要么把模板庫(kù)中l(wèi)ayout直接Include進(jìn)來(lái);要么復(fù)制粘貼捺僻,做簡(jiǎn)單的修改就可以了乡洼。單個(gè)頁(yè)面制作從4小時(shí)崇裁,縮減為1秒鐘,不是不可能束昵。

對(duì)于控件封裝更是如此拔稳,一個(gè)復(fù)雜的邏輯控件,比如下拉刷新锹雏,從設(shè)計(jì)到實(shí)現(xiàn)巴比、優(yōu)化,可能需要1~2個(gè)星期礁遵,但使用起來(lái)也就幾行語(yǔ)句的事情轻绞。效率的提升遠(yuǎn)遠(yuǎn)操作4488倍。

軟件就是一段方便復(fù)制佣耐、粘貼政勃、復(fù)用的數(shù)據(jù)塊,其效率的提升是沒(méi)有天花板的兼砖。

【Android流水化開(kāi)發(fā)】相關(guān)文章

  1. 理念·Android端開(kāi)發(fā)效率如何提升4488倍稼病?
  2. 工序1:初始化項(xiàng)目框架
  3. 工序2:繪制xml
  4. 工序3:如何增加點(diǎn)擊事件,將各個(gè)頁(yè)面連接在一起掖鱼?
  5. 工序4:封裝數(shù)據(jù)加載然走、上傳接口,并顯示戏挡、跳轉(zhuǎn)

Panda
2016-06-20

2016-06-21后記:

負(fù)面評(píng)論

第一次寫文章芍瑞,收到負(fù)面評(píng)論,有點(diǎn)糾結(jié)是刪除還是留著褐墅,最后決定還是留著吧拆檬,世界總有不同的聲音,學(xué)會(huì)適應(yīng)就好妥凳。
??做app開(kāi)發(fā)多年竟贯,也對(duì)編程這件事有些不一樣的思考。如果更高效的輸出編程產(chǎn)物逝钥?是一個(gè)一直引領(lǐng)我思考的問(wèn)題屑那,最近想到的答案是流水化,我也正在把公司的Android團(tuán)隊(duì)往這個(gè)方向帶領(lǐng)艘款,幾個(gè)項(xiàng)目后應(yīng)該會(huì)看到成效持际,到時(shí)候再跟大家分享吧。
??@stefanli 提到了標(biāo)題黨的事情哗咆,其實(shí)我一開(kāi)始寫這個(gè)標(biāo)題的時(shí)候蜘欲,也會(huì)覺(jué)得有點(diǎn)標(biāo)題黨。但是我想表達(dá)的不是stefanli認(rèn)為的組件化晌柬,而是如何在項(xiàng)目實(shí)踐中高效地產(chǎn)生合適的組件姥份。大家都覺(jué)得Android開(kāi)始是一個(gè)完整的工種郭脂,很少有人提及 xml的制作 和 邏輯類的編寫是可以分開(kāi)的,而其實(shí)當(dāng)它們分開(kāi)的時(shí)候澈歉,才是各自效率大幅度提升的時(shí)候展鸡。就像福特之前,人們也就認(rèn)為汽車就應(yīng)該是手工作坊型闷祥,一個(gè)人即安裝發(fā)動(dòng)機(jī)、也安裝車輪傲诵,沒(méi)有人想到凯砍,如果一個(gè)人僅僅安裝發(fā)動(dòng)機(jī),這種重復(fù)之中拴竹,他的效率可以快到驚人的程度悟衩,所以流水化的重點(diǎn)是社會(huì)分工的精細(xì)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末栓拜,一起剝皮案震驚了整個(gè)濱河市座泳,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌幕与,老刑警劉巖挑势,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異啦鸣,居然都是意外死亡潮饱,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門诫给,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)香拉,“玉大人,你說(shuō)我怎么就攤上這事中狂≠炻担” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵胃榕,是天一觀的道長(zhǎng)盛险。 經(jīng)常有香客問(wèn)我,道長(zhǎng)勋又,這世上最難降的妖魔是什么枉层? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮赐写,結(jié)果婚禮上鸟蜡,老公的妹妹穿的比我還像新娘。我一直安慰自己挺邀,他們只是感情好揉忘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布跳座。 她就那樣靜靜地躺著,像睡著了一般泣矛。 火紅的嫁衣襯著肌膚如雪疲眷。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天您朽,我揣著相機(jī)與錄音狂丝,去河邊找鬼。 笑死哗总,一個(gè)胖子當(dāng)著我的面吹牛几颜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讯屈,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蛋哭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了涮母?” 一聲冷哼從身側(cè)響起谆趾,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎叛本,沒(méi)想到半個(gè)月后沪蓬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡来候,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年怜跑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吠勘。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡性芬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出剧防,到底是詐尸還是另有隱情植锉,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布峭拘,位于F島的核電站俊庇,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸡挠。R本人自食惡果不足惜辉饱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拣展。 院中可真熱鬧彭沼,春花似錦、人聲如沸备埃。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至于毙,卻和暖如春敦冬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唯沮。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工脖旱, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人介蛉。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓萌庆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親甘耿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子踊兜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

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