IOS程式碼自查和走查注意事項

躍然發表於2016-04-12

工程
有網路請求的頁面,返回時注意新增取消網路請求操作 
-(void)addCancalHttp;
網路請求判斷步驟:
一、 網路連線失敗
異常流提示:網路連線失敗,請稍後重試!
二、 網路連線正常
1、 判斷原始資料responseData是否為空(拋異常時異常流應為返回資料異常)
2、 轉json格式[jsonResult chJSONValue],判斷json是否為空(拋異常時異常流應為資料解析失敗)
3、 判斷資料型別,如NSDictionary, NSArray,(拋異常時異常流應為資料格式不正確)
4、 判斷NSDictionary, NSArray是否有資料,(拋異常時異常流應為沒有資料)
5、 如果為NSDictionary判斷ifSuccess是否等於@”Y”,如果為@”N”時,異常流要用後臺返回的description
6、 解析資料,返回

常規
1,建立NSDictionary NSArray 元素非空判斷
2,NSArray 陣列越界
3,傳送訊息 資料型別不正確 (常出現在後臺返回資料)
4,碰到新增陰影時,注意效能 
5、自己新增快取資料時,注意增加版本號
6、修改任何公共的模組,要注意問一下當時做這個模組的人
7、按鈕獨佔事件
8、當一個介面有push和pop的時候,兩個操作相隔時間很短,一個動畫未結束,另外一個動畫已經開始,導致動畫衝突crash,應新增如下程式碼  if (self.navigationController.topViewController != self) 
9、載入一次性大圖片並且不在tableview中使用時用imageWithContentsOfFile(如新版本引導頁,背景大圖片等不需要一直放在應用快取中的圖片)。小圖片或者在tableview中使用的圖片可以用imageNamed
10、代理只能用weak,不能用assign和strong
11、陣列中迴圈刪除多條資料時,不能使用for(in)
12、在非同步執行緒中不要做任何與UI相關的操作,與UI相關的操作都放進主執行緒中
13、強制性要求:在專案中往陣列或字典中塞值時,以及從網上拿到資料時,都要先做非空轉換

相關文章