作iOS開發, 不免會接手別人碰過的代碼, 以前作過一些外包項目, 是別人已經完成了前期的功能, 而後到我這裏就須要接着以前的任務繼續開發, 相信不少在上班的朋友也同樣, 老是會接着寫別人的代碼, 而後每次, 我相信你確定會和我同樣, 看着看着, 心中一萬條草泥馬
~~~飄過, 而後不得不默默的填坑. 固然你寫的代碼一樣的之後可能會被其餘人看到, 因此我每次看到如下幾種相似的代碼, 一定會痛罵一番, 若是你但願你寫的代碼之後少被人罵, 至少不要寫出下面的代碼吧... 前方高能~~~swift
發送,GET,POST請求
, 下載文件, 上傳文件
這麼四個常見的需求, 你使用AFN難道就不能本身封裝幾個接口出來, 而後項目中的網絡請求都使用本身封裝的這幾個接口, 之後在更換網絡請求庫的時候直接更改這幾個接口不就行了, 而不須要再全部項目中用到網絡請求的地方都挨着挨着改一遍(基本是沒辦法改的, 不是到如今爲止不少項目還使用着ASIHTTPRequest麼),我見過整個項目使用swift來開發的, 而後網絡請求庫使用的是AFN, 項目中全部的網絡請求都是直接使用AFN的接口來完成的, 結果後來項目決定須要更換爲Alamofire, 而後... 你懂的@interface ZJHttpTool : NSObject
/**
* 發送一個GET請求
*
* @param url 請求路徑
* @param params 請求參數
* @param success 請求成功後的回調(請將請求成功後想作的事情寫到這個block中)
* @param failure 請求失敗後的回調(請將請求失敗後想作的事情寫到這個block中)
*/
+ (void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id responseObj))success failure:(void (^)(NSError *error))failure;
+ (void)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id responseObj))success failure:(void (^)(NSError *error))failure;
...
@end複製代碼
constant.h
吧... 能不能加個類前綴, 雖然這種對項目中總體的影響不大(衝突了會報錯, 你總會修改了吧), 可是這種不符合規則的類命名真的讓人很不爽 據說過變量名使用英文變量命名嗎? 你說這個計算機的世界是英語的世界都是事實, 你們都提倡變量命名使用英文來命名. 因此那些使用拼音來命名的愛國者是怎麼想的, 見過一大堆的youxiangzhanghao, banjibianhao, xingmin, xingbie ...
, 你說這些常見的名詞的英文你寫個拼音真是讓人沒法直視啊, 只能讓我開罵---必定是個英語弱爆了的傻X寫的代碼... 好吧還有一種人是這樣的, 真是嚴格遵照命名規範, 因而項目中的變量名都使用英文的, 不過啊不過啊, 對於我這種六級飄過的學渣而言, 看大家這些大神高級的命名全靠詞典啊, (電腦常備有道沒有錯) anticoagulant (抗凝劑), tranquilizer(鎮定劑)... 總之一堆一堆的藥名和專業名詞
這些東西簡直不能忍啊, 看代碼就是查字典去了, 這裏我但願用拼音, 哪怕別人罵我是用拼音的傻逼...// 高度爲44看上去更合適
self.searchBar.frame = CGRectMake(0, 22, 320, 44);複製代碼
像這種, 在controller中遵照了許多個協議, 不少方法都不知道是那些協議裏面的, 至少你也要加個註釋什麼的吧 ...
- (void)saveBtnDidTouched {
// 代理一...
}
- (void)sexDidChanged {
//代理二...
}
- (void)downloadDidFinished {
//代理三...
}複製代碼
原本是用來吐槽最近見到的奇葩代碼的, 不過寫着寫着就不想繼續吐槽了, 反正最終仍是要繼續填坑, 不過, 但願你不會再寫出這麼詭異的代碼出來了, 由於-----真的是會被罵的網絡