国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[技術翻譯]構建現代化的Objective-C(下)

2019-11-14 20:40:51
字體:
來源:轉載
供稿:網友

我的技術博客經常被流氓網站惡意爬取轉載。請移步原文:http://m.survivalescaperooms.com/hamhog/p/3563880.html,享受整齊的排版、有效的鏈接、正確的代碼縮進、更好的閱讀體驗。

本文翻譯自:Structuring Modern Objective-C 譯者:Ley戴倉薯

接上

為 #import 語句分組

這一點我們都時不時遇到過。有多少次你寫了一個(也許是)長長的 implementation 文件,十幾、二十個 #import 語句隨意堆在開頭?唉呀唉呀唉呀。沒關系!我們來幫忙解決。

#import 的順序是否重要尚存爭議,因此我們先不說它。確定重要的是你要為它們分組。然后為每一組添加注釋。

// Frameworks#import <QuartzCore data-PReserve-html-node="true"/QuartzCore.h>// Views#import "ASHButton.h"#import "ASHUserView.h"// View Controllers#import "ASHOtherViewController.h"#import "ASHThisViewController.h"

不要等到一團亂麻再去收拾——現在就開始整理!以后再往里添加就很輕松了,也讓你的代碼保持整潔。

不要用 #define 來定義常量

此話一出,定是一片嘩然。但是常量的關鍵在于,嗯,它們是。名稱不變,值也不變。當你 #define 一個常量,它會定義在其他每一個編譯器檢查到的文件里,直到遇到#undef(如果有的話)。呃。這感覺可一點都不像常量,倒像是全局變量之類的東西。

不要這樣做。

取而代之的做法是:將常量在頭文件里聲明為 extern 變量,同時在相應的 implementation 文件中定義。

在頭文件中:

extern const CGFloat ASHHeaderViewHeight;

然后,在 implementation 中,

const CGFloat ASHHeaderViewHeight = 44.0f;

現在你的常量可以對任何需要的人可見(他們只需 #import 頭文件),但對程序的其他部分都不可見。它也不可能被 #undef ,在別處再重新 define (明顯的代碼壞味道)。

注:Michael 指出,嚴格地說,我們應該用 FOUNDATION_EXPORT 來代替 extern 。

合理地命名常量

我不在乎你給常量加的前綴是 'k' 、是類名還是一個隨便什么前綴,但是要確保一致。并且要有描述性。否則,隨著你的代碼庫越來越大,早晚會產生命名沖突的問題。這一點相信我,不會有錯。

本文翻譯自:Structuring Modern Objective-C 譯者:Ley戴倉薯


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文成县| 封开县| 东丽区| 江北区| 凤山市| 乌拉特中旗| 剑阁县| 濉溪县| 宣汉县| 汪清县| 武陟县| 平阴县| 桦川县| 西乌珠穆沁旗| 成安县| 秦安县| 当阳市| 莒南县| 辽阳市| 临高县| 大关县| 海盐县| 文化| 张家界市| 招远市| 海林市| 陈巴尔虎旗| 绥江县| 澎湖县| 马公市| 施秉县| 彝良县| 松原市| 定日县| 资中县| 闽侯县| 宁强县| 襄城县| 五台县| 榆林市| 云阳县|