iOS 代码注释

之所以写这个,是因为自己接盘过几个项目,而其中的注释几乎为零,看起来特别崩溃,也很无奈。其实代码添加注释真的是一种很好的编程习惯,不仅仅是因为接盘的项目没注释,自己写代码在关键地方也会添加一些注释代码,后期维护也比较方便,而如果是那种一个页面几千行甚至几万行的要进行修改,TMD,想想都恐怖。方法注释常用的是一下几种。

  • 单行 (如:// 姓名)
  • 多行 (如: ///)
  • 方法集 (如:#pragma mark &***************** get Data)
  1. 单行,简单的描述
    //,或command + /,后者可以对选中的代码进行批量注释。单行一般用于属性,或者区域块内的注释。
// 按钮数组
@property(nonatomic,strong)NSMutableArray *btnArray;

- (void)viewDidLoad {
    [super viewDidLoad];
    currentTypeIndex = 0;
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:nil];
    // 初始化View
    [self createSubviews];
    // 获取商品标签
    [self getGoodsTags];
}

注释风格可根据自身喜好去定义,比如注释的优先级 // &&&&&& ,可根据&数量的多少确定优先级。

  1. 多行注释
    多行注释比单行注释的好处是多行注释在使用到方法,或属性的时候,会有提示。

    而且在quickhelp查看时会有显示(alt + 鼠标左键)

    多行注释以/** 开头 */结束,中途不能出现*/,或者在方法或属性面前使用(alt + command + /)快捷键,会自动补齐(前身为VVDocumenter插件,貌似被收购了?)

///  <#Description#>
///  @param animated <#animated description#>
-(void)viewWillDisappear:(BOOL)animated{}
  • Description 方法描述
  • @param 参数
    @param与此类似的还有以下几种:
标签/注释常用 用法
@param @param 参数名 参数含义
@return 返回值
@see 欲知详情,请看xx类或方法
@note 笔记
@warning 警告
@brief 使用它来写一段你正在文档化的method, PRoperty, class, file, struct, 或enum的短描述信息
@discussion 详细描述
@sa 同上
@code 文档嵌入代码段。在Help Inspector当中查看文档时,代码通过在一个特别的盒子中用一种不同的字体来展示。记住在写的代码结尾处使用
@endcode 标签
@remark 强调任何关于代码特殊之处
标签/ 记录文件 用法
@file 指出你正在记录一个文件(header 文件或不是)。如果你将使用Doxygen来输出文档,那么你最好在这个标签后面紧接着写上文件名字。它是一个top level 标签
@header 跟上面的类似,但是是在 HeaderDoc中使用。当你不使用 Doxygen时,不要使用上面的标签
@author 文件创建者信息
@ copyright 版权信息
@ version 文件的当前版本。如果在工程生命周期中版本信息有影响时这会很重要
@ class 用它来指定一个class的注释文档块的开头。它是一个top level标签,在它后面应该给出class名字
@ interface 同上
@ protocol 同上两个一样,只是针对protocols
@ superclass 当前class的superclass
@ classdesign 用这个标签来指出你为当前class使用的任何特殊设计模式
@ coclass 与当前class合作的另外一个class的名字
@ helps 当前class帮助的class的名字
@ helper 帮助当前class的class名字
  1. 方法集注释
    系统有一个自带的方法集注释
#pragma <#argument#>

但是这样的没有分割线,看起来有点不爽,按照自己的想法添加想要的分割线就好了比如我的。

#pragma mark &***************** life style
其他类似注释
注释 用法
#warning 黄色警告
#pragma mark 方法集
// MARK: 等同于#pragma mark 方法集 可以放进//、///、//<、//、//、/</等注释方式中
// TODO: 等待实现的功能 可以放进//、///、//<、//、//、/</等注释方式中
// FIXME: 需要修正的功能 可以放进//、///、//<、//、//、/</等注释方式中
// !!!: 需要改进的功能 可以放进//、///、//<、//、//、/</等注释方式中
// ???: 有疑问的功能 可以放进//、///、//<、//、//、/</等注释方式中

这样达成的效果如下



将不同的方法集(如:声明周期,代理方法,代理数据源,属性的setter与getter)用方法集注释分割,查找话就方便多了,生命周期方法,在life 下面找就行,界面初始化一目了然在init view下看,就算有几万行代码,找界面初始化方法,直接在init view注释下面找,因为其他的地方不会有。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容

  • 代码注释插件:https://github.com/onevcat/VVDocumenter-Xcode输出文档:...
    居然是村长阅读 488评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,673评论 18 139
  • 成长是什么,成长就像是羽化成蝶的过成;像是放在床头柜上的一摞摞武侠小说。英雄美人、侠客伴侣,一部部惊心动魄、荡气回...
    磐俊04阅读 164评论 0 2
  • 世人多云:秦灭六国者,长平之战奠其基也! 然自三家分晋至秦灭六国,凡二百五十年,其间秦与东方诸国何止百战,秦胜者十...
    且伴空山邀明月阅读 401评论 0 1
  • 死亡焦虑是一个心理学概念,它是指对死亡的恐惧和忧虑。 每个人都会有死亡焦虑,瑞典心理学家皮亚杰说:2至7岁的儿童就...
    云手a阅读 965评论 0 1