不用文檔捣域,或很少文檔,就能讓業(yè)務(wù)方上手
誰特么會去看文檔啊宴合,業(yè)務(wù)方他們已經(jīng)被產(chǎn)品經(jīng)理逼得很忙了焕梅。
所以你要盡可能讓你的API名字可讀性強,對于iOS來說卦洽,objc這門語言的特性把這個做到了極致贞言,函數(shù)名長就長一點,不要緊阀蒂。
// 好的函數(shù)名:
- (NSDictionary *)exifDataOfImage:(UIImage *)image atIndexPath:(NSIndexPath *)indexPath;
// 壞的函數(shù)名:
- (id)exifData:(UIImage *)image position:(id)indexPath callback:(id<ErrorDelegate>)delegate;
為什么壞该窗?
- 不要直接返回id或者傳入id,實在不行蚤霞,用id<protocol>也比id好酗失。如果連這個都做不到,你要好好考慮你的架構(gòu)是不是有問題昧绣。
- 要告知業(yè)務(wù)方要傳的東西是什么规肴,比如要傳Image,那就寫上ofImage滞乙。如果要傳位置奏纪,那就要寫上IndexPath,而不是用position這么籠統(tǒng)的東西
- 沒有任何理由要把delegate作為參數(shù)傳進(jìn)去斩启,一定不會有任何情況不得不這么做的序调。而且delegate這個參數(shù)根本不是這個函數(shù)要解決的問題的充要條件,如果你發(fā)現(xiàn)你不得不這么做兔簇,那一定是架構(gòu)有問題发绢!