如何快速高效地完成一個Android項目半醉?

本文的內(nèi)容有別于之前文章中純技術(shù)的探討,會從業(yè)務邏輯厌杜、技術(shù)奉呛、團隊方法論的角度探討如何快速高效地完成一個Android項目。當然夯尽,快速高效是有前提的,第一登馒,本文依然是從研發(fā)的角度來談如何把控項目的匙握,而這種研發(fā)人正如陳皓在《技術(shù)人員的發(fā)展之路》中提到的,需要具備高效的學習能力解決問題的能力陈轿。另外圈纺,快速需要保證質(zhì)量秦忿,沒有質(zhì)量的速度是不負責任的。

一蛾娶、業(yè)務邏輯

計算機科學的核心是通過數(shù)據(jù)結(jié)構(gòu)和算法實現(xiàn)對現(xiàn)實世界的抽象灯谣,平臺是會隨著技術(shù)發(fā)展不斷變遷的,只有數(shù)據(jù)本身所描述的這種抽象才是事物永恒的本質(zhì)蛔琅。作為研發(fā)胎许,筆者推薦通過數(shù)據(jù)結(jié)構(gòu)來理解業(yè)務邏輯,比如罗售,數(shù)據(jù)庫建模需要對系統(tǒng)中所有的實體關(guān)系進行抽象辜窑,是理解業(yè)務邏輯的核心。當然寨躁,可能有不少App研發(fā)人對后臺的業(yè)務邏輯并不太關(guān)心穆碎,但實話講,任何依賴于平臺(Windows职恳、Symbian所禀、Android、iOS……)的開發(fā)者是沒有安全感的放钦,平臺是會不斷迭代的北秽,研發(fā)人需要去抓住那些本質(zhì)的、穩(wěn)定的計算機科學的核心知識最筒。有點跑題贺氓,舉個栗子,一個進銷存管理的Android軟件床蜘,先拋開復雜的辙培、精細的管理流程不講,從最小可行產(chǎn)品(MVP)來說邢锯,主要會包括如下業(yè)務:

  • 進貨=選商品+加庫存扬蕊;
  • 銷售=選商品+減庫存;
  • 庫存=查庫存+庫存修改(商品修改)丹擎;
  • 基礎(chǔ)資料=新增/修改店鋪+新增/修改商品尾抑;
  • 報表=入出操作流水。

對于一個店鋪來講蒂培,進貨需要選品和增加庫存量再愈,選品的方式可能包括掃描69碼或從庫存添加(69碼最終也會對應庫存中的SKU);銷售包含選品和減少庫存量护戳;庫存包含增刪改查等基本操作翎冲;基礎(chǔ)資料包含店鋪信息、人員信息媳荒、設(shè)備信息等抗悍;基礎(chǔ)報表包含利潤驹饺、進貨明細、銷售明細缴渊、對賬等操作流水赏壹。當然,上述業(yè)務框架僅僅是MVP衔沼,并未考慮ERP蝌借、WMS中精細化管理的各種場景,但對于App的研發(fā)來講俐巴,這也是最基礎(chǔ)需要了解的骨望。

二、技術(shù)

本節(jié)將從Android開發(fā)的角度來說明在快速開發(fā)中最常用欣舵、最重要的幾點技術(shù):

  1. 數(shù)據(jù)結(jié)構(gòu)和算法擎鸠。正如業(yè)務邏輯中講到的,數(shù)據(jù)結(jié)構(gòu)和算法是軟件技術(shù)的核心缘圈,在快速Android開發(fā)過程中劣光,需要了解Java中的各種數(shù)據(jù)類型的實現(xiàn)及原理。比如下列問題是否了然于胸糟把?

1绢涡、List、Queue遣疯、Stack的實現(xiàn)有哪些異同雄可?ArrayList如何實現(xiàn)擴容?PriorityQueue缠犀、LinkedBlockQueue的主要特性是什么数苫?直接在循環(huán)中刪除List的元素為什么會報ConcurrentModificationException?
2辨液、如何實現(xiàn)樹的深度遍歷虐急、廣度遍歷?文件系統(tǒng)如何使用二叉樹建模滔迈?紅黑樹有什么特性止吁,主要的應用場景是什么?
3燎悍、Hash原理是什么敬惦?HashMap的Key有什么注意事項?Java中是如何解決Hash沖突的间涵,有哪些解決Hash沖突的辦法仁热?基于Hash沖突的攻擊是什么原理?為什么要重寫hashcode和equals方法勾哩?LinkedHashMap抗蠢、TreeMap以及SortMap有什么異同,各自的應用場景是什么思劳?Map如何通過迭代器進行遍歷迅矛?
4、如何對Collections中的元素進行排序潜叛?Compareable和Comparator有什么區(qū)別秽褒?如何實現(xiàn)線程安全的集合類?常見的并發(fā)場景有哪些威兜?閉鎖销斟、FutureTask、信號量椒舵、柵欄等各自的應用場景是什么蚂踊,實現(xiàn)原理?如何將串行任務并行化笔宿?鎖的實現(xiàn)原理是什么犁钟?

  1. Android中的View、WMS及AMS的知識泼橘。如果是數(shù)據(jù)是應用的靈魂涝动,那么View、WMS及AMS就是應用的外觀炬灭。因此醋粟,應用要求良好的交互性、體驗等重归,就需要深入理解View的原理及WMS的知識米愿。比如下列常見的問題是否理解?

1提前、RecyclerView的使用吗货,是否了解其與ListView的區(qū)別?RecyclerView嵌套與適配器狈网?如何響應Item中控件的操作宙搬?如何在RecyclerView與Activity之間通信,并實現(xiàn)數(shù)據(jù)聯(lián)動拓哺?RecyclerView在ScrollView中的顯示需要注意什么問題勇垛?
2、自定義View需要重寫哪些方法士鸥?invalidate()和postInvalidate() 的區(qū)別及使用闲孤?如何實現(xiàn)具有動畫效果的View?View的層次關(guān)系是什么烤礁?Android中的事件類型有哪些讼积?事件的傳遞過程肥照?ViewGroup和View在事件處理方面有什么異同?
3勤众、Activity界面的層次舆绎?Window、WindowManager以及WindowManagerService之間的關(guān)系们颜?如何通信吕朵?
4、Activity的啟動過程如何窥突?主線程消息隊列如何啟動努溃?ActivityThread與AMS如何通信?Activity在異常情況下的生命周期阻问?如何在Service中實現(xiàn)對Activity的跨進程回調(diào)梧税?

需要說明的,這里提到的技術(shù)點并不是像面試中問到的则拷,因為面試時需要探探應試者的深度贡蓖,這里主要是說明快速開發(fā)中直接使用的技術(shù),也是最需要掌握的基礎(chǔ)知識煌茬。筆者最近準備寫個系列文章斥铺,從八個方面來說明對Android開發(fā)的理解,主要包括:數(shù)據(jù)結(jié)構(gòu)與算法坛善、網(wǎng)絡通信編程晾蜘、線程與并發(fā)、進程的通信與調(diào)度眠屎、View體系及WMS剔交、四大組件及AMS、設(shè)計模式與架構(gòu)改衩、性能優(yōu)化與虛擬機岖常,敬請期待~~

三、團隊

在需要快速高效完成項目的場景下葫督,團隊的溝通竭鞍、協(xié)作是非常重要的。如何帶領(lǐng)一個Android開發(fā)團隊橄镜,這里列出幾個筆者認為比較重要的點:

  • 研發(fā)團隊不能管理的太緊偎快,關(guān)鍵是要制定好標準,搭好框架洽胶,然后在遵循統(tǒng)一的標準下保持進度晒夹。研發(fā)要避免過度管理,自由、開放的環(huán)境更有利于產(chǎn)品研發(fā)工作丐怯,流程喷好、制度約束太多對創(chuàng)新無益。團隊成員更多的是協(xié)作响逢,而不是管理绒窑。
  • 技術(shù)團隊Leader的工作包括:搭建穩(wěn)定棕孙、可靠的開發(fā)框架舔亭,模塊化、插件化架構(gòu)蟀俊,網(wǎng)絡通信請求回調(diào)方法钦铺,單元測試流程,技術(shù)調(diào)研肢预,渠道包管理矛洞,產(chǎn)品、UI和測試團隊的溝通協(xié)作烫映,需求討論及工期安排沼本,各種核心流程圖及文檔,Code Review锭沟,崩潰日志分析及處理等等
  • 團隊是有人構(gòu)成的抽兆,團隊中需要有各種不同類型的人,有擔當族淮、能救火的人辫红;有遠見、能防火的人祝辣;有執(zhí)行力贴妻、靠譜的人;有喜感蝙斜、能活躍氛圍的人名惩;有獨立思考、事事能提出不同意見的人……以上總總孕荠,只要是能給團隊帶來正面影響的人娩鹉,作為團隊Leader,一定要以開放岛琼、妥協(xié)底循、灰度的眼光求同存異。

四槐瑞、方法論

從個人的角度來講熙涤,如何在高度壓力之下完成大量的工作?不管在公司承擔重要項目,還是自己創(chuàng)業(yè)祠挫,這都是不可避免的話題那槽。以下談談筆者個人的體會和方法:

  1. 節(jié)奏。工作的時候要全身心投入等舔,避免各種打擾骚灸,比如測試提的BUG,各種會議慌植,要盡量保證工作的連續(xù)性甚牲,避免被打擾。完成了一周緊張的工作蝶柿,要及時的休息丈钙,腦袋里完全拋開工作上的事情,做一些其他輕松的事情交汤,比如筆者喜歡寫寫毛筆字雏赦、喝點小酒,總之芙扎,做一些與工作完全無關(guān)的事情星岗。
  2. 計劃。凡事遇則立戒洼,不預則廢俏橘,一定要有計劃,要有明確的條理施逾,知道今天該完成什么敷矫,明天該完成什么,進度該怎么把控汉额,有什么風險點曹仗,所有的事情一定要提前定好計劃,沒有準備的仗是一定打不贏的蠕搜。有了計劃之后怎茫,才會工作的走向有所把控,心里才有底妓灌,面對領(lǐng)導轨蛤、同事以及相關(guān)工作人的時候,才會有底氣虫埂,也才會有自信心祥山。

最后,和大家分享一個經(jīng)歷和體會掉伏,與本文標題沒有直接關(guān)系缝呕,沒興趣的話可以直接跳過澳窑。
上上周末完成了一次從北京的東南到西北的徒步穿越,全程接近40公里供常。徒步是最簡單的一種思考方式摊聋,用腳步這種最原始的方式去經(jīng)歷每一處風景。

  • 在你到達目標的過程中栈暇,不可能一條平坦開闊的大路走到底麻裁,還要去走很多沒人走過的小路。大路走的人多源祈,你覺得很有安全感煎源;小路人跡罕至,你很擔心自己走錯新博。但如果你的目標是終點薪夕,你就勇敢的走下去吧。其實路沒有大小赫悄,只有你是否能通過此路到達目標。
  • 如果你一開始就決定要走一條很長的路馏慨,那么一開始的走左邊埂淮,還是右邊其實影響不大,到達目標的路徑有千萬種選擇写隶。對于一個長跑選手來說倔撞,重要的是方向和節(jié)奏。只要大方向?qū)δ脚浚?*為起點痪蝇,只要朝著西北方向,保持每小時3-5公里的節(jié)奏冕房,目標終能到達躏啰。
  • 人走在路上,到了中點的時候耙册,可能腳下已經(jīng)起了水泡给僵,每走一步都很疼。這正如人到中年详拙,工作帝际、職場、家人饶辙、身體已經(jīng)已經(jīng)落下很多的問題蹲诀,要去解決這些問題,就會很疼弃揽。往回走脯爪,就是失斏河丁;站在原地披粟,就會彷徨咒锻;所以只能往前走,遇到困難守屉,死活頂上去惑艇,保持進步的節(jié)奏,你才可能朝目標前進拇泛。很多人到了中年之后開始向各種問題妥協(xié)滨巴,其實就相當于站在原地,彷徨俺叭。

以上恭取。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市熄守,隨后出現(xiàn)的幾起案子蜈垮,更是在濱河造成了極大的恐慌,老刑警劉巖裕照,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件攒发,死亡現(xiàn)場離奇詭異,居然都是意外死亡晋南,警方通過查閱死者的電腦和手機惠猿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來负间,“玉大人偶妖,你說我怎么就攤上這事≌#” “怎么了趾访?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長玩祟。 經(jīng)常有香客問我腹缩,道長,這世上最難降的妖魔是什么空扎? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任藏鹊,我火速辦了婚禮,結(jié)果婚禮上转锈,老公的妹妹穿的比我還像新娘盘寡。我一直安慰自己,他們只是感情好撮慨,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布竿痰。 她就那樣靜靜地躺著脆粥,像睡著了一般。 火紅的嫁衣襯著肌膚如雪影涉。 梳的紋絲不亂的頭發(fā)上变隔,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天,我揣著相機與錄音蟹倾,去河邊找鬼匣缘。 笑死,一個胖子當著我的面吹牛鲜棠,可吹牛的內(nèi)容都是我干的肌厨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼豁陆,長吁一口氣:“原來是場噩夢啊……” “哼柑爸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起盒音,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤表鳍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后里逆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體进胯,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年原押,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偎血。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡诸衔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颇玷,到底是詐尸還是另有隱情笨农,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布帖渠,位于F島的核電站谒亦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏空郊。R本人自食惡果不足惜份招,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狞甚。 院中可真熱鬧锁摔,春花似錦、人聲如沸哼审。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至十气,卻和暖如春励背,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背砸西。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工叶眉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人籍胯。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓竟闪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親杖狼。 傳聞我的和親對象是個殘疾皇子炼蛤,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

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