代码的注释经常被人忽略,以至于在后期维护的时候较为困难。我们准备在XX项目开始之前制定一套规范的注释体系,致力于达到就算维护人员改变也能快速上手的效果。

1.属性注释

属性注释 使用 /** 注释*/ 的文档注释格式。 这种注释相较于// 注释的优点是此属性可以在后面的引用时,在智能提示的下方显示中文注释

如果你不是在董铂然博客园看到本文请点击查看原文

例如:

/** 回复率*/
@property(nonatomic,strong)MTPoiCompareM *replyRate;
/** 回复速度*/
@property(nonatomic,strong)MTPoiCompareM *replySpeed;

在之后的调用时可以看到如下效果

并且之后在维护写完的代码时,把光标点到该属性时可以在右侧的quickhelp快速看到此属性的解释。

从实际的开发角度来看并不是所有的属性都需要添加注释,只要是属性名能从英文直译或者简单明显的属性 不需要添加属性注释

@property(nonatomic,copy)NSString *name;
@property(nonatomic,assign)float avgScore;
@property(nonatomic,assign)int dealid;
@property(nonatomic,assign)float price;
@property(nonatomic,assign)int feedbackNum;

  

①通过属性名无法快速且明显的了解该用途的属性必须添加注释,如index到底是谁的index?但是存在下列特性的属性必须添加注释

②类似于状态的标记可能有0,1,2三种情况的要将几种情况的注释一起写入

③属性名的英文直译无法说清时

上面特点与下面的代码逐条对应:

/** 顶部分类的下标*/
@property(nonatomic,assign)int index;
/** 项目类型 1是团购 2是券*/
@property(nonatomic,assign)int type;
/** 本行业平均数据*/
@property(nonatomic,copy)NSString *cateValue;

  

这里插播一下引入代码块的步骤。这里统一一属性注释的代码块为 /** <#注释#>*/  快捷键为xx

2.引入代码块的步骤

1.将橘色部分复制到项目中的任意一个位置。里面部分会自动缩成一个块如图

然后选中这些 拖入 右下角的代码块中。

拖入后松手会显示设置框,按要求设置

然后点击done, 这个代码块就会存在Xcode中。

使用代码块的好处就是可以在项目中敲出快捷键加回车就能马上出现自己预置的代码并且,按tab键可以快速切换到一个个小块进行编写

3.方法集注释

系统有一个自带的方法集注释代码块

但是这个是不带分隔线的,如果要加分隔线 还需要在后面加上 mark - 再跟上注释,有点麻烦

使用后可以达到如下效果

现统一一下,给出代码块

#pragma mark - **************** <#输入注释#>  快捷键为mark

之所以中间用****拉长是为了避免与下面的注释一起重叠在前面不易观看

所有类的数据源方法 或 代理方法的方法集前面必须加上一行方法集注释来做分隔。(代码要求将某个类的几个代理方法应该写在一起)

4.普通注释

在项目中的某个地方的逻辑可能比较复杂或者是核心思想的代码,这种地方应加上一些注释作为标注,也利于自己维护代码,利于之后别人接手代码。

例如:

现统一一下,给出代码块

// ------<#单行注释#>  快捷键为gg

5.优先级注释

这个重点注释可以自定义, 我给出我标注重点的注释的代码块如下,也建议大家可以统一,便于查看

// $$$$$ 快捷键为dd

一般写在一个大项目中经常需要跳过去修改的地方,用法是在这行代码后面快速敲上dd回车 变成这样

有时候需要找他们的时候,只需要在项目搜索里敲上就能快速定位

这里也可以设置优先级$$ 或$$$,重点或常出异常的地方都建议标注不需要吝啬。

如果你不是在董铂然博客园看到本文请点击查看原文。 转载请注明出处。

iOS端项目注释规范附统一代码块的更多相关文章

  1. Idea项目注释规范设置

    Idea项目注释规范设置文档 1.类注释: /**    *@ClassName: ${NAME}    *@Description: TODO    *@Author: guohui    *@Da ...

  2. java服务端项目开发规范

    更新内容 2015-03-13 (请先更新svn的mybatis.xml.BaseMapper.java.Pager.java文件) 加入测试类规范 加入事物控制规范 加入mapper接口规则 ...

  3. iOS开发系列--Objective-C之协议、代码块、分类

    概述 ObjC的语法主要基于smalltalk进行设计的,除了提供常规的面向对象特性外,还增加了很多其他特性,这一节将重点介绍ObjC中一些常用的语法特性.当然这些内容虽然和其他高级语言命名不一样,但 ...

  4. iOS新建项目文件管理规范

    当我们进入到新的公司的第一天,看到以前老员工编写的代码,找个东西累死人咧,那个抓耳挠腮的啊,一般情况下都有想揍人的赶脚. 哈哈,不忙,先想一下自己的代码!想一下自己写的代码怎么才能新来的人一眼就能看懂 ...

  5. spring、mybatis、事务项目整合,附完整代码和数据库文件

    配置依赖项 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:/ ...

  6. vsCode与Hubilder中自定义代码块

    平常测试vue的一些属性时总要新增代码,引入文件,麻烦,顾自定义代码块来实现快速新增测试 一.打开设置 1.1 vsCode设置 点击后选择代码块所属的文件类型,比如在html中则选择html类型配置 ...

  7. [C++]项目中的代码注释规范(整理)

    原文:http://blog.csdn.net/pleasecallmewhy/article/details/8658795 1 源文件头部注释 列出:版权.作者.编写日期和描述. 每行不要超过80 ...

  8. java代码注释规范

    java代码注释规范   代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二 ...

  9. [转]java代码注释规范

    代码注释是架起程序设计者与程序阅读者之间的通信桥梁,最大限度的提高团队开发合作效率.也是程序代码可维护性的重要环节之一.所以我们不是为写注释而写注释.下面说一下我们在诉求网二期开发中使用的代码注释规范 ...

随机推荐

  1. Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic

    <Windows Azure Platform 系列文章目录> 项目文件,请在这里下载 在笔者之前的文章中Windows Azure Service Bus (1) 基础 介绍了Servi ...

  2. JAVA 设计模式 迭代器模式

    用途 迭代器模式 (Iterator) 提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示. 迭代器模式是一种行为型模式. 结构

  3. Java中不同转换符实现不同数据类型到字符串的转换

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. form ...

  4. 基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作

    在很多Web系统中,一般都可能提供一些图标的选择,方便配置按钮,菜单等界面元素的图标,从而是Web系统界面看起来更加美观和协调.但是在系统中一般内置的图标样式相对比较有限,而且硬编码写到样式表里面,这 ...

  5. ASP.NET Core 开发-Logging 使用NLog 写日志文件

    ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以 ...

  6. 提高生产性工具 - Model代码生成器(NET / JAVA) (一)

    原来在上一家公司,整整一年都在做工具,提高生产性,那个项目特别巨大,所以总共为老东家节约了500K左右的美金. (除了表扬之外,我个人什么好处都没有,领导们都升官发财了,郁闷) 到了新公司,也准备开发 ...

  7. 自己动手,让Entity Framework Power Tools在VS2015重放光彩

    Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码. VS Galler ...

  8. XE7 Android 中使用 MessageDlg 范例

    MessageDlg('Choose a button:', System.UITypes.TMsgDlgType.mtInformation, [ System.UITypes.TMsgDlgBtn ...

  9. MUI(2)

    本篇博文是继续MUI(1)博文. 上一篇博文小编写了两个页面,一个页面只写了一个头部导航栏,另一个页面写了一个按钮,然后这两个页面进行合并显示,即在头部导航栏页面加载显示另一个页面的按钮.仔细观察上一 ...

  10. PostgreSQL除法保留小数

    select round(1::numeric/4::numeric,3);结果为0.25 select round( cast ( 1 as numeric )/ cast( 4 as numeri ...