久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

app開(kāi)發(fā)中的上帝模式與農(nóng)民模式

2023-03-10    分類: App開(kāi)發(fā)

我在做APP開(kāi)發(fā)的時(shí)候,發(fā)現(xiàn)自己在寫(xiě)程序的時(shí)候,常常處于兩種狀態(tài)的切換,我把這兩種狀態(tài)稱為軟件開(kāi)發(fā)的上帝模式與農(nóng)民模式。我先給大家介紹一下這兩種模式的特點(diǎn)。

上帝模式

處于上帝模式時(shí),我需要構(gòu)思整個(gè)應(yīng)用的架構(gòu)設(shè)計(jì),如何進(jìn)行類之間的組織和信息的傳遞。我有可能會(huì)在紙上畫(huà)一些類圖,把關(guān)鍵的幾個(gè)類之間關(guān)系構(gòu)思清楚。這就類似于建筑師畫(huà)設(shè)計(jì)圖紙一樣。

在這個(gè)階段,我的大腦是努力工作的,我會(huì)利用我學(xué)到的《設(shè)計(jì)模式》、《重構(gòu)》、《代碼大全》中的架構(gòu)知識(shí),先把類的關(guān)系組織好。然后我會(huì)深入到每一類的實(shí)現(xiàn)細(xì)節(jié),構(gòu)思好每個(gè)類大概怎么實(shí)現(xiàn),這個(gè)過(guò)程又會(huì)利用了如何命名、DRY 原則、單一職責(zé)原則等編程知識(shí)。

而這一切的行為,都是在紙上完成的,我甚至?xí)P(guān)掉電腦屏幕,因?yàn)殡娔X屏幕前有很多影響注意力的信息(例如 QQ、微信、郵件等)。

農(nóng)民模式

當(dāng)一切構(gòu)思基本完成,我就會(huì)打開(kāi)APP開(kāi)發(fā)工具,開(kāi)始我的農(nóng)民模式工作。

在農(nóng)民模式,我會(huì)專心于將我剛剛構(gòu)思好的內(nèi)容變成一行行真實(shí)的代碼。由于已經(jīng)想得比較清楚,這個(gè)過(guò)程通常更多是一種體力活,或者好聽(tīng)一點(diǎn),是一個(gè)手藝人的體力活。對(duì)于農(nóng)民模式的我來(lái)說(shuō),我需要知道 APP開(kāi)發(fā)的各種基本知識(shí),以及一些常見(jiàn)的提升效率的工作方式,以便我能夠更快地完成編碼工作。

在農(nóng)民模式中,我會(huì)注意集中精力,因?yàn)殡m然實(shí)現(xiàn)代碼是偏體力活的事情,但是思路如果斷掉,接上的話還是會(huì)花費(fèi)不少時(shí)間。有一些同事會(huì)喜歡戴上耳機(jī),以避免干擾,也是這個(gè)道理。

我還會(huì)把每個(gè)類大概的成員變量和成員方法名想好。構(gòu)思完成之后,我脫下上帝的黃袍(別問(wèn)我上帝為什么要穿黃袍,我也不知道),換上農(nóng)民干活的麻布衣服,開(kāi)始搬代碼了。我先把這些類都建好,方法名命名好。接著我開(kāi)始填一個(gè)一個(gè)的方法名的實(shí)現(xiàn)。

每一個(gè)類的實(shí)現(xiàn)過(guò)程都可以看作一個(gè)階段性的成果,這個(gè)時(shí)候我會(huì)稍微休息一下,然后繼續(xù)搬磚。

較終,我完成了所有代碼,然后開(kāi)始運(yùn)行。咦,為什么運(yùn)行效果不對(duì)?我趕緊打起精神,開(kāi)始調(diào)試起代碼來(lái)。這個(gè)時(shí)候,我一會(huì)兒切換成上帝模式,審視自己的架構(gòu)是否有漏洞。一會(huì)兒切換成農(nóng)民模式,看自己是不是不小心敲錯(cuò)了一些代碼細(xì)節(jié)。

較終,代碼被全部編寫(xiě)完成并且運(yùn)行正常了。

一些技巧

上帝模式的技巧

上帝模式中,切忌不應(yīng)該過(guò)于著急動(dòng)手,把一切的細(xì)節(jié)都想清楚,看看有沒(méi)有特殊情況沒(méi)有考慮到。如果一開(kāi)始設(shè)計(jì)得不好,那么真正實(shí)現(xiàn)到較后才發(fā)現(xiàn),那么農(nóng)民模式下寫(xiě)的代碼就白白浪費(fèi)了。

上帝模式的工作是可以脫離電腦來(lái)實(shí)施的,這意味著我們可以拉上同事,找個(gè)白板討論。我們也可以在上下班的路上思考。

經(jīng)過(guò)討論的上帝模式的產(chǎn)出會(huì)更加靠譜,在我們公司,我們會(huì)在 Scrum 的計(jì)劃會(huì)議的后半程,用出牌的方式估計(jì)每一個(gè)工作的 Story Point,而具體的估計(jì)方式,就是以上帝模式將整個(gè)工作細(xì)化,使得我們大家能夠明確出農(nóng)民模式下的編碼工作量到底是多少。

軟件開(kāi)發(fā)能力的提高,上帝模式會(huì)比農(nóng)民模式更難,在上帝模式下工作得出色的同學(xué),會(huì)進(jìn)一步成為架構(gòu)師,成為更復(fù)雜架構(gòu)的設(shè)計(jì)規(guī)劃者。

在軟件開(kāi)發(fā)書(shū)籍中,涉及上帝模式的圖書(shū)也有很多,例如《設(shè)計(jì)模式》和《重構(gòu)》,但是好的架構(gòu)都是無(wú)法脫離實(shí)際業(yè)務(wù)的,所以大多數(shù)程序員都無(wú)法通過(guò)簡(jiǎn)單地看書(shū)就提高自己的上帝模式的能力,更多的提高方式是工作一段時(shí)間,有一些實(shí)際體會(huì)之后再看書(shū),就能夠理解書(shū)中的道理。

農(nóng)民模式的技巧

農(nóng)民模式中,效率是第一要素。所以,保證自己的專注力是非常重要的。在這方面,「番茄工作法」是一個(gè)不錯(cuò)的實(shí)踐方式。

農(nóng)民模式中,應(yīng)該盡量采用「寬度優(yōu)先搜索」的方式來(lái)完成任務(wù),而不是「深度優(yōu)先搜索」的方式。在上面的例子中,我先將各種類的類名和方法名填好,然后再完善細(xì)節(jié)就是一種「寬度優(yōu)先搜索」的方式。這種方式下,我們不需要額外的「棧空間」來(lái)保存工作的上下文。

為了更容易理解,我來(lái)舉一個(gè)「深度優(yōu)先搜索」的工作方式,在上面的例子中,我先寫(xiě)界面的 Controller 類,寫(xiě)到一半發(fā)現(xiàn)需要 TableViewCell,于是就去寫(xiě) TableViewCell。TableViewCell 寫(xiě)到一半發(fā)現(xiàn)需要先實(shí)現(xiàn) ViewModel,然后就跑去實(shí)現(xiàn) ViewModel,ViewModel 實(shí)現(xiàn)完發(fā)現(xiàn)需要緩存起來(lái),于是就跑去寫(xiě)緩存邏輯。這種工作方式下,我就需要分別記住:Controller 的進(jìn)度和 TableViewCell 的進(jìn)度,以便我之后繼續(xù)完善它們。這種方式其實(shí)就相當(dāng)于一次「打斷」,因?yàn)槲野?Controller 的編寫(xiě)硬生生拆成了兩次,這樣就使得我需要更多時(shí)間回記上次的思路。

農(nóng)民模式中,我們應(yīng)該盡量提升自己的代碼輸入效率。比如將常用的代碼片段保存在 Xcode 的 Snippets 中或者 Dash 中,在組織內(nèi)規(guī)范好統(tǒng)一的命名約定和規(guī)則,熟悉 APP的各種調(diào)試技巧,都可以使自己更快把上帝模式下的藍(lán)圖轉(zhuǎn)換成實(shí)際代碼。

相對(duì)于上帝模式,大部分同學(xué)都會(huì)輕視農(nóng)民模式下的效率。比如寫(xiě)一會(huì)兒代碼聊一會(huì)兒 QQ。比如由于自己事先積累不夠,很多基本的 APP開(kāi)發(fā)知識(shí)還需要查資料和文檔。農(nóng)民模式下的效率低下,使得一個(gè)人看起來(lái)工作了很久,卻沒(méi)有什么產(chǎn)出。

在 APP開(kāi)發(fā)領(lǐng)域,我個(gè)人的經(jīng)驗(yàn)表明,我在一整天的農(nóng)民模式中,可以產(chǎn)出 1000 行左右的代碼。2012 年猿題庫(kù)創(chuàng)業(yè)初期時(shí),我在 4 個(gè)月的緊張工作中,平均每天的代碼產(chǎn)出約為 500 行。

一些問(wèn)題

提升上帝模式能力

很多app開(kāi)發(fā)新手對(duì)于提升自己上帝模式的能力感覺(jué)到無(wú)從下手,建議這部分同學(xué)可以多分析一些優(yōu)秀的開(kāi)源軟件的架構(gòu),同時(shí)閱讀一些相關(guān)的書(shū)籍。另外,每一次惡心的重構(gòu)都是一次難得的經(jīng)驗(yàn),說(shuō)明之前的架構(gòu)設(shè)計(jì)不夠優(yōu)雅,結(jié)合自身的業(yè)務(wù)特點(diǎn),多思考多討論,慢慢地就會(huì)培養(yǎng)出自己對(duì)于架構(gòu)的一些心得了。

提升農(nóng)民模式效率

很多app開(kāi)發(fā)新手對(duì)于農(nóng)民模式不夠重視。一個(gè)程序員大部分時(shí)間都應(yīng)該是處于農(nóng)民模式的,農(nóng)民模式?jīng)Q定了我們產(chǎn)出的效率,而很多人只重視工作時(shí)間,不重視工作效率,使得自己的產(chǎn)出非常低下。

提升自己的農(nóng)民模式能力,建議使用「番茄工作法」并且做一些時(shí)間記錄,平時(shí)多學(xué)習(xí)一些較新的 app開(kāi)發(fā)知識(shí),以便減少自己的知識(shí)盲區(qū)。專注于自己的精力是否集中,如果覺(jué)得太累,就活動(dòng)一下或者適當(dāng)休息,不應(yīng)該強(qiáng)迫自己Coding。

警惕混搭模式

混搭模式,類似于練功人士的「走火入魔」,專指那些在上帝模式?jīng)]有想清楚,就馬上切入農(nóng)民模式寫(xiě)代碼,寫(xiě)到一半代碼又切到上帝模式思考。邊寫(xiě)邊想的混搭模式使得自己想的時(shí)候不夠清晰,寫(xiě)的時(shí)候又不夠?qū)Wⅲ瑑蛇叾疾挥懞谩Mǔ倓側(cè)胄械娜硕继幱谶@種混搭的模式,不但寫(xiě)出來(lái)的代碼容易有邏輯錯(cuò)誤,而且速度很慢。

本文標(biāo)題:app開(kāi)發(fā)中的上帝模式與農(nóng)民模式
URL地址:http://m.js-pz168.com/news41/242941.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
亚洲欧美电影一区二区| 一区二区三区不卡视频| 亚洲一区二区在线播放相泽 | 午夜婷婷国产麻豆精品| 国产在线播放一区三区四| 91传媒免费看| 亚洲日本无吗高清不卡| 日韩欧美在线网站| 专区另类欧美日韩| 精品一区二区在线免费观看| 999日本视频| 在线精品日韩| 久久久777精品电影网影网| 亚洲国产精品尤物yw在线观看| 国产经典欧美精品| 欧美日韩亚洲免费| 日韩亚洲欧美成人一区| 一区二区三区在线观看国产 | 欧美性极品少妇| 国产日韩一级二级三级| 全国精品久久少妇| 超碰国产精品久久国产精品99| 色婷婷av一区二区三区软件| 久久久高清一区二区三区| 日韩中文字幕91| av在线不卡观看| 色婷婷综合久久久中文字幕| 国产日韩欧美精品电影三级在线| 日韩**一区毛片| 国产精品免费观看高清| 欧美日韩在线精品一区二区三区激情| 国产精品久久久久国产精品日日 | 亚洲精品国产精品乱码不99| 国产精品888| 日韩一二三区不卡在线视频| 精品久久久久久久久久久久包黑料| 亚洲国产一区二区三区青草影视| 99久久免费精品高清特色大片| 综合操久久久| 国产精品初高中害羞小美女文| 国产一区二区不卡在线| 日本一区二区高清视频| 久久欧美中文字幕| 久久 天天综合| 欧美精品尤物在线| 久久亚洲一区二区三区明星换脸| 日韩国产精品91| 精品无码久久久久国产| 欧美变态凌虐bdsm| 久久99久国产精品黄毛片色诱| 久热国产精品视频一区二区三区| 精品日韩欧美在线| 久久99九九99精品| 亚洲欧洲在线一区| 国产精品白丝在线| av在线免费不卡| 欧美日韩成人综合在线一区二区| 亚洲自拍欧美精品| 国产私拍一区| 精品成人a区在线观看| 加勒比av一区二区| 伊人久久大香线蕉成人综合网| 国产精品美女一区二区三区| 成人sese在线| 欧美高清视频不卡网| 三级一区在线视频先锋| 欧美不卡在线一区二区三区| 国产午夜亚洲精品不卡| 成人妖精视频yjsp地址| 欧美视频在线观看一区二区| 亚洲va欧美va人人爽| 久久艳妇乳肉豪妇荡乳av| 久久精品欧美一区二区三区麻豆| 国产成人免费视频网站| 欧美日韩一区在线| 日韩成人av影视| 无遮挡亚洲一区| 亚洲欧美激情小说另类| 国产一区二区不卡视频在线观看| 久久这里只有精品视频网| 风间由美性色一区二区三区| 欧美日韩国产综合一区二区三区| 日本不卡一二三| 四虎永久国产精品| 亚洲综合一二三区| 久久久久欧美| 日韩一区在线免费观看| 国产精品一区视频| 中文字幕va一区二区三区| 91色.com| 2020国产精品久久精品美国| 成人午夜精品一区二区三区| 欧美一区二区三区在线电影| 国产美女视频91| 欧美日韩精品一二三区| 久久99精品国产.久久久久 | 青娱乐精品在线视频| 亚洲欧洲日韩精品| 午夜一区二区三区视频| 亚洲综合首页| 日日噜噜夜夜狠狠视频欧美人 | 亚洲国产成人av网| 香蕉久久免费影视| 亚洲动漫第一页| 亚洲午夜在线观看| 日韩电影在线看| 一个色的综合| 日韩av在线发布| 欧美中文字幕一区二区三区亚洲| 欧美a级理论片| 欧美午夜不卡在线观看免费| 久久精品国产免费看久久精品| 欧美亚洲一区二区三区四区| 久色婷婷小香蕉久久| 欧美日韩亚洲高清一区二区| 国产综合一区二区| 欧美一二三区精品| 99在线精品观看| 国产日韩av一区二区| 国产精品美女黄网| 一区二区三区在线视频免费| 日本一区二区在线视频| 亚洲1区2区3区4区| 欧美在线观看一二区| 国产一区二区三区精品欧美日韩一区二区三区| 欧美日韩一区三区四区| 粉嫩aⅴ一区二区三区四区| 精品sm捆绑视频| 国产精品久久久久免费| 亚洲三级在线免费观看| 亚洲欧美精品| 极品少妇一区二区三区精品视频| 制服丝袜亚洲网站| 97精品超碰一区二区三区| 国产精品青草综合久久久久99| 免费毛片一区二区三区久久久| 亚洲香蕉伊在人在线观| 欧美中文字幕不卡| 国产91在线观看丝袜| 久久久午夜精品| 欧美动漫一区二区| 三级影片在线观看欧美日韩一区二区| 欧美日韩国产一级| 99久久夜色精品国产网站| 亚洲欧洲av另类| 一区一区视频| 国产不卡在线一区| 中文字幕高清一区| 一本色道久久综合亚洲二区三区| 久久99国产精品久久99果冻传媒| 欧美成人综合网站| 精品国产乱码久久久久久久软件 | 中文字幕在线一区| 亚洲免费不卡| 国产乱国产乱300精品| 久久久久久免费网| 欧美一区二区视频在线| 久久se精品一区精品二区| 精品久久久久一区| 蜜桃视频日韩| 精品一区二区三区欧美| 久久久精品国产免大香伊| 久久免费视频1| 老司机精品视频在线| 久久尤物电影视频在线观看| 欧美男人的天堂| 精品一区二区在线看| 欧美激情在线观看视频免费| 亚洲高清乱码| 国产不卡视频一区二区三区| 国产精品高清亚洲| 在线精品国精品国产尤物884a| 99久久久免费精品国产一区二区| 亚洲男人的天堂av| 在线电影院国产精品| 国产女人水真多18毛片18精品| 日韩国产欧美在线观看| 久久影院视频免费| 亚洲一区精彩视频| 99久久夜色精品国产网站| 亚洲国产成人精品视频| 日韩精品中文字幕在线一区| 欧美大香线蕉线伊人久久| 国产精品资源在线观看| 亚洲男帅同性gay1069| 欧美理论在线播放| 久久久久久国产精品免费免费| 激情深爱一区二区| 国产精品成人在线观看| 欧美区视频在线观看| 国产在线精品一区| 国内精品国产三级国产a久久| 国产精品久久毛片a| 欧美日韩精品一区二区在线播放| 国产专区一区二区| 国产呦萝稀缺另类资源| 伊人开心综合网| 欧美不卡一区二区三区四区| 亚洲欧美在线网| 91婷婷韩国欧美一区二区|