浅析我对代码规范的理解

  1. 代码整齐,有必要的换行缩进,看起来舒服;

  2. 函数功能分类,每个功能用#pragram mark - 或//MARK:区分开,并附有说明;

  3. 函数命名可读性强,让别人根据函数名即可知道函数的功能。如果函数的功能比较复杂,应有关键步骤的注释,有函数参数,返回值和函数功能的注释说明;建议使用VVDocumenter写函数注释。

  4. 函数中的变量要有意义。不要出现int a,var b这样的字样。尽量采用text,number,date,width等有意义的文字。如果零时使用,可以采用tmp,local等前缀字样,让别人快速的明白是零时使用。

  5. 一个类单独形成一个文件。如果一个文件中包含多个类,那么这些类之间必须要有相互关系或一个体系,比如纯虚基类和实现子类,一个类和仅仅为该类服务的help类。

  6. 类的功能由自己内部实现,而不是通过外部设置,万不得已不对外暴露变量,对外只提供更新的接口。外部只需要提供简单的设置和数据就能够让类完成自己的大部分功能。

  7. 资源文件按业务功能模块分开。比如Images.xcassets拆分出多个,每个模块有自己独立的Images.xcassets文件,类似ModuelA.xcassets,ModuelB.xcassets等等,通用的icon文件放在Images.xcassets中。

  8. 看代码时,不用文档,或很少文档,就能让其他人上手。模块目录按照功能进行分类,比如联系人页面所有涉及到的Controller,View、Model和资源文件一起放在Contacts文件夹里。我见过有的代码是将所有Controllers放在一个文件夹中,Views放在一个文件夹中,Models放在一个文件夹中,这样的文件目录读起来感觉非常不方便。

  9. 粒度够细,集成度高,复用度高。功能函数化,参数变量化。能够达到改动一个地方,所有地方生效的结果。

  10. 尽量使用自定义View,View封装的粒度要细,自己能够完成大部分功能,对外仅暴露初始化接口和回调,便于移植和修改。

  11. image使用时,icon使用imageNamed函数初始化,图片文件采用imageWithContentsOfFile函数初始化,用以防止不必要的缓存。

  12. 网络请求采用统一的接口设置,便于将来接口的修改。

原文地址:https://www.cnblogs.com/gongyuhonglou/p/5806828.html