新研科技iOS培訓(xùn):如何高效iOS編程的3大秘訣

      新研科技iOS培訓(xùn)技術(shù)*認為:習(xí)慣會影響一個人做事的方式,也會直接影響效率。我經(jīng)常在項目完成后自我總結(jié),有哪些做得好的,有哪些做得不好的?然后把一些好的流程記錄下來,并且重新運用回編程中。那些能夠堅持去做的流程,就變成了我的編程習(xí)慣,這些良好的習(xí)慣就成就了我高效的編程效率!
    
      一、輕文檔**
    
      什么叫輕文檔?新研科技iOS培訓(xùn)技術(shù)*認為:其實輕文檔指的是不需要按照標(biāo)準的軟件工程知識來編寫需求分析,架構(gòu)設(shè)計,模塊設(shè)計,流程圖時序圖等文檔,而是采用比較自由的方式,把你要做的事情,還有做事情的步驟描述清楚的文檔。這樣的文檔不需要限制格式,甚至你可以手寫在自己的筆記本面,只要自己能看得懂,在開發(fā)過程中能夠隨時查閱就可以了。
    
      1. 為什么要寫文檔
    
      剛開始工作的時候,總是一接到任務(wù)就馬上開始寫代碼,結(jié)果遇到了很多問題,例如:
    
      ①.需求本身就存在問題,代碼寫到一半以后才發(fā)現(xiàn)
    
     ?、?部分需求沒有表達清楚,發(fā)現(xiàn)的時候才去溝通,結(jié)果發(fā)現(xiàn)時間不夠,或者跟之前的代碼產(chǎn)生沖突
    
     ?、?代碼寫到一半時,發(fā)現(xiàn)自己思路不對或者不清晰了
    
      最后很有可能導(dǎo)致項目延期。
    
      如果在開發(fā)前就把需求分解好,把問題溝通清楚,把要做的點一個個列下來,就能大大地避免這些問題。
    
      2. 文檔寫什么
    
     ?、?準備工作
    
      在開始之前需要準備什么?例如做一個發(fā)送消息的界面,需要有以下的準備:
    
      a.接口協(xié)議
    
      b.測試環(huán)境
    
      c.測試賬號
    
      準備工作提前做好,往往會加快效率。為什么要把這些內(nèi)容記錄下來,是為了在開發(fā)過程中可以快速檢索。如果等到開始開發(fā)以后再去查聊天記錄,或者是找相關(guān)人員詢問,那就慢了。
    
      ②.羅列需要做的小功能點
    
      例如做一個發(fā)送消息的界面,就有很多小功能點:
    
      a.發(fā)送界面
    
      b.發(fā)送的數(shù)據(jù)接口
    
      c.文本字數(shù)限制
    
      如果你仔細一想,可能還會出現(xiàn)以下問題:
    
      a.是否需要登錄?如果未登錄,是否要引導(dǎo)登錄
    
      b.對于發(fā)送失敗的情況,要如何處理?
    
      c.字數(shù)**出限制時,如何交互?
    
      d.用戶重復(fù)發(fā)相同的文本,是否要過濾?
    
      e.如何處理數(shù)據(jù)接口的錯誤碼?
    
      當(dāng)你記錄下這些小功能,并且跟產(chǎn)品經(jīng)理溝通清楚以后,你的開發(fā)周期已經(jīng)可以初步評估了,并且這時候也已經(jīng)弄清楚這個需求有多少小功能,需要怎么劃分模塊,怎么構(gòu)建內(nèi)部流程。
    
      對于部分流程復(fù)雜的功能,可以畫一下流程圖輔助理解
    
     ?、?記錄這個需求的改動點
    
      如果這是一個新需求,并且跟以前的版本沒有任何關(guān)系,則可以忽略這部分
    
      如果是這個需求會影響以前的代碼,則需要將改動部分記錄下來,因為項目中的bug有很多是改出來的,列出改動點后會讓自己較清楚新功能帶來的影響,減少很多低級bug
    
      例如新增一個發(fā)送圖片的功能,這個功能會影響聊天窗口的展示,會影響鍵盤,這些改動點就要記錄下來。一來可以輔助思考有沒有漏掉的小功能點,二來在自測試的時候需要覆蓋聊天窗口的展示和鍵盤的切換。
    
      ④.羅列自測試內(nèi)容
    
      編碼完成以后,一定要進行自測試,自測試越仔細,越能提前發(fā)現(xiàn)bug并修復(fù)。如果是測試人員發(fā)現(xiàn)了bug ,然后再提交給你,你這時候再去解決,效率往往會比較低。
    
      以發(fā)送消息為例,自測內(nèi)容也有很多:
    
      a.正常發(fā)送消息
    
      b.未登錄時點擊發(fā)送
    
      c.字數(shù)**出限制
    
      d.沒有網(wǎng)絡(luò)時點發(fā)送
    
      e.網(wǎng)絡(luò)很差時不斷點發(fā)送
    
      等等.......
    
      二、開始編碼
    
      1. 是重寫還是保持不變
    
      每做一個新需求,都有可能會面臨這樣的問題:
    
     ?、?以前的模塊寫得太爛了,很想重新寫
    
     ?、?差不多的需求,以前用了這樣的方式實現(xiàn),這次想換一種方式實現(xiàn)
    
      會考慮以上的問題,證明你是一個想要不斷進步的人,但是,在做決定之前較好先考慮以下因素:
    
     ?、?重寫模塊,很可能牽一發(fā)而動全身,要想清楚改動可能帶來的影響,以及解決這些問題需要的時間
    
      ②.使用新方案實現(xiàn)需求,新的方案是否已經(jīng)經(jīng)過仔細的驗證,如果沒有,它可能會帶來新問題
    
      其實保持不變也有一些優(yōu)勢:
    
     ?、?可以比之前做得較快,因為你熟悉了
    
     ?、?不會出現(xiàn)新問題
    
      考慮好以后,是重寫還是保持現(xiàn)狀,基本已經(jīng)有答案了
    
      不過保持現(xiàn)狀并不意味著是放棄追求,你可以用業(yè)余的時間來證明你的方案,當(dāng)它已經(jīng)穩(wěn)定了,可行了,那你隨時都可以重寫了。
    
      2. 實現(xiàn)需求,Demo **
    
      用Demo來實現(xiàn)一個需求是較快的,因為它運行快,可以隨意修改,而且代碼量少,如果實現(xiàn)過程出現(xiàn)問題,很*就可以定位到原因。
    
      先建立一個Demo,然后把需要的資源移植過來,把功能實現(xiàn)以后,再移植到項目中,這樣可以節(jié)省不少開發(fā)時間
    
      3. 借助工具
    
      ①.代碼模板(File Template)
    
      我們創(chuàng)建一個視圖,控制器,或者一個Model,可能會有一些固定不變的函數(shù)、屬性需要被定義或者重寫,使用Xcode可以創(chuàng)建代碼模板,在創(chuàng)建類文件的時候一鍵生成這些代碼,提高效率。
    
      ②.代碼片段(Code Snippet)
    
      一般可重用的代碼,我們會封裝成類或者函數(shù),以便其他地方使用,但有一些代碼是不適合封裝的,例如:
    
      a.聲明一個屬性
    
      b.創(chuàng)建一個線程
    
      像這類的代碼,我會做成代碼片段,然后通過Xcode的Code Snippet自動補充功能來快速完成,一個代碼片段例子:
    
      這里寫圖片描述
    
      只要輸入@OperateThread就可以直接完成創(chuàng)建一個操作隊列的代碼,大幅度減少編碼時間。
    
      ③.自動注釋工具(VVDocumenter)
    
      一個可以一鍵創(chuàng)建注釋模板的工具,減少寫注釋所需的時間
    
      4. 適當(dāng)添加注釋
    
      如果像官方的API那樣,所有地方都添加注釋,那工作量就太大了,需要額外的開發(fā)時間,如果只是針對一些語義不明、有歧義的代碼添加注釋,反而會減少開發(fā)時間。
    
      例如一個屬性:
    
      @property (nonatomic, assign) int64_t createTime;
    
      一看就知道是指創(chuàng)建時間,但它到底是不是時間戳?如果是時間戳,那單位是秒還是毫秒?如果還要打印數(shù)據(jù)以后才能下結(jié)論,就太耗時間了。
    
      加上注釋以后,它就一目了然了
    
      ///創(chuàng)建時間(時間戳秒)
    
      @property (nonatomic, assign) int64_t createTime;
    
      三、自測
    
      1. 先檢查后自測
    
      完成一個小功能以后,先檢查一下代碼,然后再開始自測,因為代碼可以告訴你很多信息:
    
      ①.是否有低級錯誤
    
     ?、?是否有難以發(fā)現(xiàn)的漏洞
    
     ?、?流程是否存在問題
    
      如果你編碼完成以后立即自測,可能會進入被動狀態(tài):
    
     ?、?這個界面顯示不對
    
      ②.這個數(shù)據(jù)跟預(yù)期對不上
    
     ?、?有些不該出現(xiàn)的東西出現(xiàn)了
    
      這時候再反過來去調(diào)試代碼,一步步修改,會很慢,因為你編譯和操作都需要時間,而且有些條件不是很*模擬,那種情況就較耗時間了
    
      2. 自測點要全部過一遍
    
      可能你會覺得這很煩,很浪費程序員的時間,但自測過程發(fā)現(xiàn)bug是較*修復(fù)的,因為這時候代碼記憶較清晰,較*找到問題所在。
    
      四、總結(jié)
    
      先用文檔理清思路,然后開始編碼,編碼完成以后要檢查代碼并自測。這就是我的編程習(xí)慣,一直沿用至今。新研科技iOS培訓(xùn)技術(shù)*認為:其實知道一個技巧,并不會提升效率,只有堅持使用這個技巧,并形成習(xí)慣以后,才會真正地提高效率。

    深圳市新一代信息技術(shù)研究院有限公司專注于新研科技,Android培訓(xùn),iOS培訓(xùn),Java培訓(xùn),軟件測試培訓(xùn),前端開發(fā)培訓(xùn)等

  • 詞條

    詞條說明

  • 深圳新研科技iOS培訓(xùn):蘋果公司戰(zhàn)略企圖心

    近日,媒體注意到,蘋果公司在官網(wǎng)發(fā)布招聘啟事,招募安卓開發(fā)員,要開發(fā)更多新的安卓軟件。蘋果葫蘆里到底賣的什么藥?新研科技iOS培訓(xùn)技術(shù)*(http://baoan./ios.html)據(jù)美國福布斯網(wǎng)站發(fā)文表示,蘋果開發(fā)安卓軟件,并不簡單是為自己的互聯(lián)網(wǎng)服務(wù)開拓用戶,蘋果執(zhí)行的是一個特洛伊木馬計劃,即利用安卓軟件,將安卓用戶吸引到蘋果應(yīng)用生態(tài)和云服務(wù)體系中來。

  • 新研科技iOS培訓(xùn):你的蘋果較新了iOS 9嗎

    9月17日凌晨1點蘋果推送了iOS 9正式版,翹首企盼已久的眾多用戶在**時間升級。對于眾多果粉來說這幾乎是個鐵定升級的系統(tǒng),其一,它支持的機型**廣泛,連4年前的iPhone 4s和“祖爺爺輩”的iPad 2都支持,你還不給個面子升級一下;其二,功能啥的放一邊,號稱待機時間延長1-3小時,這對于一天一充的iPhone來說誘惑太大了。 說到蘋果特別照顧老舊機型升級是不是讓你淚光閃閃了,先別掏手絹

  • 新研科技iOS培訓(xùn):開發(fā)不想改BUG?給你個妙招

    在測試過程中,不免會遇到開發(fā)人員因為一些原因不想修改個別bug的情況。那一般遇到這種問題時,我們該如何去推進開發(fā)修改bug呢? 新研科技iOS培訓(xùn)技術(shù)*先來分析下到底會有哪些原因會導(dǎo)致開發(fā)不修改bug 1、開發(fā)與測試對bug的定義理解不一致產(chǎn)生的問題,例如暴力操作、非常規(guī)操作出現(xiàn)的問題、問題路徑深、服務(wù)器返回的數(shù)據(jù)不規(guī)范、競品同樣有的問題、個別機型問題等情況,開發(fā)可能會不愿意修改。 2、工作流

  • 新研科技iOS培訓(xùn):手機游戲的*10種語言

    每個要求本土化的第三方客戶都會問我們一個非?;荆珔s非常重要的問題:“關(guān)于我們的游戲/應(yīng)用/網(wǎng)站,你會建議將其翻譯成哪種語言?” 為了回答這一問題,新研科技iOS培訓(xùn)技術(shù)*搜索了不同國家的Google Play和App Store上的手機游戲銷售數(shù)據(jù)。并對較終結(jié)果充滿驚訝! 你將能夠通過本文找到更多有關(guān)本土化手機游戲的前10大語言的信息。 讓我們先從一些重要的國家開始: 日本—-不管是在Go

聯(lián)系方式 聯(lián)系我時,請告知來自八方資源網(wǎng)!

公司名: 深圳市新一代信息技術(shù)研究院有限公司

聯(lián)系人: 黃經(jīng)理

電 話: 0755-86393680

手 機: 18126219192

微 信: 18126219192

地 址: 廣東深圳南山區(qū)深圳市南山區(qū)科苑南路武漢大學(xué)產(chǎn)學(xué)研大樓B403室

郵 編:

網(wǎng) 址: wudaxykj123.cn.b2b168.com

相關(guān)推薦

    八方資源網(wǎng)提醒您:
    1、本信息由八方資源網(wǎng)用戶發(fā)布,八方資源網(wǎng)不介入任何交易過程,請自行甄別其真實性及合法性;
    2、跟進信息之前,請仔細核驗對方資質(zhì),所有預(yù)付定金或付款至個人賬戶的行為,均存在詐騙風(fēng)險,請?zhí)岣呔瑁?
      聯(lián)系方式

    公司名: 深圳市新一代信息技術(shù)研究院有限公司

    聯(lián)系人: 黃經(jīng)理

    手 機: 18126219192

    電 話: 0755-86393680

    地 址: 廣東深圳南山區(qū)深圳市南山區(qū)科苑南路武漢大學(xué)產(chǎn)學(xué)研大樓B403室

    郵 編:

    網(wǎng) 址: wudaxykj123.cn.b2b168.com

      相關(guān)企業(yè)
      商家產(chǎn)品系列
    • 產(chǎn)品推薦
    • 資訊推薦
    關(guān)于八方 | 八方幣 | 招商合作 | 網(wǎng)站地圖 | 免費注冊 | 一元廣告 | 友情鏈接 | 聯(lián)系我們 | 八方業(yè)務(wù)| 匯款方式 | 商務(wù)洽談室 | 投訴舉報
    粵ICP備10089450號-8 - 經(jīng)營許可證編號:粵B2-20130562 軟件企業(yè)認定:深R-2013-2017 軟件產(chǎn)品登記:深DGY-2013-3594
    著作權(quán)登記:2013SR134025
    Copyright ? 2004 - 2024 b2b168.com All Rights Reserved