国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

我的iOS高效編程秘訣—堅持編程習慣

移動開發
習慣會影響一個人做事的方式,也會直接影響效率。我經常在項目完成后自我總結,有哪些做得好的,有哪些做得不好的?然后把一些好的流程記錄下來,并且重新運用回編程中。那些能夠堅持去做的流程,就變成了我的編程習慣,這些良好的習慣就成就了我高效的編程效率!

[[145448]]

習慣會影響一個人做事的方式,也會直接影響效率。我經常在項目完成后自我總結,有哪些做得好的,有哪些做得不好的?然后把一些好的流程記錄下來,并且重新運用回編程中。那些能夠堅持去做的流程,就變成了我的編程習慣,這些良好的習慣就成就了我高效的編程效率!

一、輕文檔先行

什么叫輕文檔?其實輕文檔指的是不需要按照標準的軟件工程知識來編寫需求分析,架構設計,模塊設計,流程圖時序圖等文檔,而是采用比較自由的方式,把你要做的事情,還有做事情的步驟描述清楚的文檔。這樣的文檔不需要限制格式,甚至你可以手寫在自己的筆記本上面,只要自己能看得懂,在開發過程中能夠隨時查閱就可以了。

1. 為什么要寫文檔

剛開始工作的時候,總是一接到任務就馬上開始寫代碼,結果遇到了很多問題,例如:
①. 需求本身就存在問題,代碼寫到一半以后才發現
②. 部分需求沒有表達清楚,發現的時候才去溝通,結果發現時間不夠,或者跟之前的代碼產生沖突
③. 代碼寫到一半時,發現自己思路不對或者不清晰了
***很有可能導致項目延期。

如果在開發前就把需求分解好,把問題溝通清楚,把要做的點一個個列下來,就能大大地避免這些問題。

2. 文檔寫什么

①. 準備工作

在開始之前需要準備什么?例如做一個發送消息的界面,需要有以下的準備:
a. 接口協議
b. 測試環境
c. 測試賬號

準備工作提前做好,往往會加快效率。為什么要把這些內容記錄下來,是為了在開發過程中可以快速檢索。如果等到開始開發以后再去查聊天記錄,或者是找相關人員詢問,那就慢了。

②. 羅列需要做的小功能點

例如做一個發送消息的界面,就有很多小功能點:
a. 發送界面
b. 發送的數據接口
c. 文本字數限制

如果你仔細一想,可能還會出現以下問題:
a. 是否需要登錄?如果未登錄,是否要引導登錄
b. 對于發送失敗的情況,要如何處理?
c. 字數超出限制時,如何交互?
d. 用戶重復發相同的文本,是否要過濾?
e. 如何處理數據接口的錯誤碼?

當你記錄下這些小功能,并且跟產品經理溝通清楚以后,你的開發周期已經可以初步評估了,并且這時候也已經弄清楚這個需求有多少小功能,需要怎么劃分模塊,怎么構建內部流程。

對于部分流程復雜的功能,可以畫一下流程圖輔助理解

③. 記錄這個需求的改動點

如果這是一個新需求,并且跟以前的版本沒有任何關系,則可以忽略這部分
如果是這個需求會影響以前的代碼,則需要將改動部分記錄下來,因為項目中的 bug 有很多是改出來的,列出改動點后會讓自己更清楚新功能帶來的影響,減少很多低級bug

例如新增一個發送圖片的功能,這個功能會影響聊天窗口的展示,會影響鍵盤,這些改動點就要記錄下來。一來可以輔助思考有沒有漏掉的小功能點,二來在自測試的時候需要覆蓋聊天窗口的展示和鍵盤的切換。

④. 羅列自測試內容

編碼完成以后,一定要進行自測試,自測試越仔細,越能提前發現 bug 并修復。如果是測試人員發現了 bug ,然后再提交給你,你這時候再去解決,效率往往會比較低。

以發送消息為例,自測內容也有很多:
a. 正常發送消息
b. 未登錄時點擊發送
c. 字數超出限制
d. 沒有網絡時點發送
e. 網絡很差時不斷點發送
等等.......

二、開始編碼

1. 是重寫還是保持不變

每做一個新需求,都有可能會面臨這樣的問題:
①. 以前的模塊寫得太爛了,很想重新寫
②. 差不多的需求,以前用了這樣的方式實現,這次想換一種方式實現

會考慮以上的問題,證明你是一個想要不斷進步的人,但是,在做決定之前***先考慮以下因素:
①. 重寫模塊,很可能牽一發而動全身,要想清楚改動可能帶來的影響,以及解決這些問題需要的時間
②. 使用新方案實現需求,新的方案是否已經經過仔細的驗證,如果沒有,它可能會帶來新問題

其實保持不變也有一些優勢:
①. 可以比之前做得更快,因為你熟悉了
②. 不會出現新問題

考慮好以后,是重寫還是保持現狀,基本已經有答案了
不過保持現狀并不意味著是放棄追求,你可以用業余的時間來證明你的方案,當它已經穩定了,可行了,那你隨時都可以重寫了。

2. 實現需求,Demo 先行

用 Demo 來實現一個需求是最快的,因為它運行快,可以隨意修改,而且代碼量少,如果實現過程出現問題,很容易就可以定位到原因。

先建立一個 Demo,然后把需要的資源移植過來,把功能實現以后,再移植到項目中,這樣可以節省不少開發時間

3. 借助工具

①. 代碼模板(File Template)

我們創建一個視圖,控制器,或者一個 Model,可能會有一些固定不變的函數、屬性需要被定義或者重寫,使用 Xcode 可以創建代碼模板,在創建類文件的時候一鍵生成這些代碼,提高效率。

②. 代碼片段(Code Snippet)

一般可重用的代碼,我們會封裝成類或者函數,以便其他地方使用,但有一些代碼是不適合封裝的,例如:
a. 聲明一個屬性
b. 創建一個線程

像這類的代碼,我會做成代碼片段,然后通過 Xcode 的 Code Snippet 自動補充功能來快速完成,一個代碼片段例子:

[[145449]]

這里寫圖片描述

只要輸入 @OperateThread 就可以直接完成創建一個操作隊列的代碼,大幅度減少編碼時間。

③. 自動注釋工具(VVDocumenter)

一個可以一鍵創建注釋模板的工具,減少寫注釋所需的時間

4. 適當添加注釋

如果像官方的 API 那樣,所有地方都添加注釋,那工作量就太大了,需要額外的開發時間,如果只是針對一些語義不明、有歧義的代碼添加注釋,反而會減少開發時間。

例如一個屬性:

  1. @property (nonatomic, assign) int64_t createTime; 

一看就知道是指創建時間,但它到底是不是時間戳?如果是時間戳,那單位是秒還是毫秒?如果還要打印數據以后才能下結論,就太耗時間了。

加上注釋以后,它就一目了然了

  1. /// 創建時間(時間戳 秒) 
  2. @property (nonatomic, assign) int64_t createTime; 

三、自測

1. 先檢查后自測

完成一個小功能以后,先檢查一下代碼,然后再開始自測,因為代碼可以告訴你很多信息:
①. 是否有低級錯誤
②. 是否有難以發現的漏洞
③. 流程是否存在問題

如果你編碼完成以后立即自測,可能會進入被動狀態:
①. 這個界面顯示不對
②. 這個數據跟預期對不上
③. 有些不該出現的東西出現了

這時候再反過來去調試代碼,一步步修改,會很慢,因為你編譯和操作都需要時間,而且有些條件不是很容易模擬,那種情況就更耗時間了

2. 自測點要全部過一遍

可能你會覺得這很煩,很浪費程序員的時間,但自測過程發現 bug 是最容易修復的,因為這時候代碼記憶最清晰,最容易找到問題所在。

四、總結

先用文檔理清思路,然后開始編碼,編碼完成以后要檢查代碼并自測。這就是我的編程習慣,一直沿用至今。

其實知道一個技巧,并不會提升效率,只有堅持使用這個技巧,并形成習慣以后,才會真正地提高效率。

責任編輯:倪明 來源: 簡書
相關推薦

2015-08-20 10:50:33

iOS高效編程習慣

2011-04-13 10:16:41

編程習慣

2019-04-16 14:03:47

編程程序員代碼

2011-03-29 12:41:49

編程

2020-04-27 11:39:42

編程程序員技術

2017-09-01 11:01:22

開發編程習慣

2011-08-08 09:51:19

編程

2014-03-06 09:43:54

代碼編程習慣

2009-07-24 18:02:46

ASP.NET編程

2012-12-25 09:45:08

PythonWeb

2013-06-20 09:38:57

2013-06-17 11:21:27

2024-01-22 08:20:40

Python編程語言代碼陷阱

2020-10-30 07:11:31

C 語言編程

2009-01-03 14:34:49

ibmdwPHP

2014-09-24 10:18:29

開發者開發習慣

2014-10-13 11:00:14

編程習慣不良開發項目

2009-01-03 10:40:41

PHP編程代碼

2015-04-23 16:28:06

開發項目編程習慣

2020-07-29 07:52:25

編程開發IT
點贊
收藏

51CTO技術棧公眾號

亚洲不卡中文字幕无码| 五月综合久久| 亚洲欧洲成人av每日更新| 久久一区二区三区av| 98精品久久久久久久| 欧美最顶级的aⅴ艳星| 精品一级视频| 色偷偷噜噜噜亚洲男人的天堂| 国产极品人妖在线观看| 91麻豆精品国产91久久久资源速度| 一级视频在线免费观看| 亚洲日本丝袜连裤袜办公室| 免费在线观看毛片网站| 成人免费毛片高清视频| 天天综合五月天| 日本不卡123| 欧美一进一出视频| 亚洲美女91| 国产精品推荐精品| 欧美激情综合色综合啪啪| 国产美女91呻吟求| 97国产成人高清在线观看| 国产成人高清激情视频在线观看| www国产精品| 欧美激情极品视频| 99国产精品免费网站| 午夜精品久久久久久久99热| 第四色在线一区二区| 66m—66摸成人免费视频| 亚洲v天堂v手机在线| 国产精品亚洲自拍| 黑丝一区二区| 爱爱爱视频网站| 成人午夜大片免费观看| 十八禁视频网站在线观看| 国产精品电影院| 中文字幕乱在线伦视频乱在线伦视频| 欧美性猛交xxxx| 日本成a人片在线观看| 欧美一区二区成人6969| 天堂а√在线最新版中文在线| 最新的欧美黄色| 国产精品中文字幕制服诱惑| 国产欧美日韩中文| 国产精品最新自拍| 中国丰满熟妇xxxx性| 久久久av毛片精品| 永久在线免费观看| 欧美大片一区二区| 成人av在线播放| 国产精品自产拍高潮在线观看| 亚洲福利免费| 无码日本精品xxxxxxxxx| 亚洲国产成人在线| 青青草超碰在线| 日韩电影免费观看中文字幕| 99精品国产一区二区三区2021| 成人精品一区二区三区| 韩国一区二区视频| 男人的天堂网av| 亚洲精品狠狠操| 免费电影一区二区三区| 美女视频久久| 国产亚洲欧美日韩日本| 大胆av不用播放器在线播放| 亚洲乱码国产乱码精品精天堂| 美国成人xxx| 鲁鲁视频www一区二区| 久久久久99精品一区| 成人高潮成人免费观看| 久久av.com| 狠狠综合久久av一区二区老牛| 成人免费播放器| 黑人狂躁日本妞一区二区三区| 性欧美1819sex性高清| 国产精品自产拍高潮在线观看| 久久99国产精品久久99果冻传媒| 黄色三及免费看| 亚洲成色777777女色窝| 香蕉久久精品日日躁夜夜躁| 亚洲综合视频一区| 亚洲地区一二三色| 欧美伊人亚洲伊人色综合动图| 不卡一卡2卡3卡4卡精品在| 久久久综合九色合综国产精品| 日韩精品黄色| 国产成人在线亚洲欧美| 国产91在线观看| 伊人免费在线| 日韩av不卡电影| 国产精品亚洲а∨天堂免在线| 欧美日韩伦理片| 国内久久久精品| 国产99久久久久久免费看农村| 91大神在线网站| 国产精品第一区| 久久综合网色—综合色88| 黑人玩欧美人三根一起进| 91精品国产自产在线老师啪 | 欧美成人剧情片在线观看| 韩日成人在线| 成人伦理视频网站| 日韩最新av在线| 久久永久免费| 免费国产在线视频| 国产成人精品电影| 国产午夜精品一区二区三区嫩草| av在线网页| 久久精品国产综合精品| 午夜欧美在线一二页| 巨人精品**| 国产精品无码av在线播放| 亚洲大尺度美女在线| 亚洲国产高清一区二区三区| 最新在线你懂的| 日韩av免费在线观看| 日本一区二区成人| 欧美日韩中出| 免费大片在线观看| 日韩综合中文字幕| 成人精品国产福利| 日韩成人影音| 影音先锋男人的网站| 欧美老人xxxx18| 欧美日韩1区| 国产一级二级三级在线观看| 91精品国产综合久久香蕉922| 国产情人综合久久777777| 成人影视亚洲图片在线| 九色porny自拍视频在线观看 | 狠狠色香婷婷久久亚洲精品| 成人一区二区三区视频在线观看| 亚洲国产激情| 久久久综合色| 午夜av成人| 国产无遮挡又黄又爽免费网站| 色999日韩自偷自拍美女| 久久久视频在线| 亚洲日韩欧美视频| 高潮白浆女日韩av免费看| 国产日韩综合av| 国产综合色在线| 美女视频一区在线观看| 美国欧美日韩国产在线播放| 国产精品一区二区无线| 久久国产高清| 欧美男男tv网站在线播放| 视频欧美一区| 在线你懂的视频| 日本三级在线观看网站| av片在线观看永久免费| 欧美一区二区视频在线播放| 国产精品免费一区二区三区观看| 成人免费视频视频在| 91亚洲午夜在线| 国产精品jvid在线观看蜜臀| 成人有码视频在线播放| 高清日韩一区| 欧美精品一区在线发布| 青青青在线视频播放| 99免费视频观看| 蝌蚪视频在线播放| 宅男在线观看免费高清网站| 国产麻豆一区| 波多野结衣在线观看一区二区三区 | 欧美变态tickle挠乳网站| 精品国产乱码久久久久久蜜臀| 亚洲美女www午夜| 热99在线视频| 亚洲精品一区二区三区av| 在线观看国产一级片| 成年人在线看| 国产激情久久| jlzzjlzz亚洲女人| 日韩国产一区二区三区| 免费观看日韩av| 一片黄亚洲嫩模| 最近2019中文免费高清视频观看www99 | 日韩少妇内射免费播放| 三级视频在线| 国产一区二区| 美女网站一区二区| 91国在线观看| 9.1国产丝袜在线观看| 精品无码国产一区二区三区av| 午夜看片在线免费| 精品国产aⅴ| 国产精品美女久久久久av爽李琼| 亚洲国产精品va在线看黑人 | 亚洲免费福利一区| www.欧美日韩| 亚洲一区www| 日韩片电影在线免费观看| 高清av电影在线观看| 欧美先锋资源| 亚洲国产视频一区二区| 欧美一级在线亚洲天堂| 二区中文字幕| 中文字幕一区二区三区久久网站| 亚瑟在线精品视频|