规范

一、工程结构说明,参考了吴星的和网上的一些实践:

  1. AppDelegate, 包括 AppDelegate.h, AppDelegate.m。
  2. Section, 这里放各个相对独立的业务模块相关的代码,比如登陆模块、设置页面等。
  3. General,这里放一些通用的、可以在各个业务模块之间复用的代码。比如一些 Category, Class 以及一些基本控件等。
  4. Helper,这里放得是一些辅助类,可以把一些Manager放在这里。
  5. Model,这是模型类。可以把用到的基本模型类放在这里,比如User 模型类,Setting 模型类等。
  6. Macro,这个目录主要放一些宏,并且再细分为 AppMacro, UtilMacro, VendorMacro等。
  7. Vendor,这个目录是用来放一些第三方库.

二、项目开发注意事项:

1、这条最重要:不要随意在第三方开源库中增删改内容,如果必须修改,尽量用类别或者继承的方式来做,并且不要把代码加到第三方库所在的目录。万不得已才允许直接修改第三方开源库的内容。

2、项目中的 group 文件夹,必须对应本地文件夹。这个很重要!

只有一个例外,就是工程 Resource 目录下的 storyboard 文件实际存放在路径在 Base.lproj,这是为了国际化而放的。

3、图片资源使用 Images.xcassets 管理,了解一下你会发现这个很方便,不能再像之前项目里那样放了。

5、项目中使用第三方库的,请告诉我,由我(Joe)来添加,避免滥加。

6、多使用#pragma mark - XXX将源文件分类,方便查看和理解。相同性质的方法归纳到同一个mark下面。

7、注意业务逻辑和界面的分离,这个概念比较抽象,先有这个意识吧,再慢慢提升,我们会定期评审代码,磨刀不误砍柴工。前期至少保证在 ViewController 的 action 方法中不要出现大量业务逻辑代码。

8、userdate 的数据不要上传 SVN,代码尽早提交,保证 svn 上的代码可用。

下面是补充的 Sandy 邮件中的的建议

9、滥用NSUserDefault,工程遍地都是,调试起来极度痛苦。

要求:严格控制NSUserDefault的使用频率,定期组织全工程搜索NSUserDefaul的使用情况,发现不合理,全部打回去重写。

10、ViewController 所带逻辑太多,一个ViewController少则1000行,多则2000行。

要求:严格控制ViewControll写入业务逻辑,只做UI和数据的交互,减轻ViewController的负担。

11、代码中魔数太多,遍地是数字。

要求:代码中禁止使用魔数,请用宏定义或者常量明确表示用途。

12、View布局混乱,相对布局用的太少。

要求:View布局全部用相对布局,个别需要用绝对位置,请在代码中注明原因。

13、代码工程结构不统一,模块之间耦合度太高。

要求:代码工程结构规范按照第一节所说。

14、注释太少。

要求:给外部接口,复杂的逻辑函数必须给出注释。

15、资源文件命名不规范,UI给什么图就怎么命名。

要求:资源文件命名根据模块--> 功能-->分辨率严格划分。

16、擅自更改产品需求,在不与产品沟通的情况下,偷工减料。

要求:擅自更改实现方式,发现之后,根据与产品的协商结果来定,但是DeadLine 不变,耽误时间请自行协调。

17、实现功能没有任何追求,怎么方便怎么来。

要求:功能上请高要求,以后功能稳定性和流畅度,先自己解决,找不到方法,再寻求帮助。

18、图方便,时间紧,一直沿用原来的老架构,已经写完的重构架构一直得不到推广和执行。

要求:从下一版工程开始,全部沿用新的网络访问架构和新的工程架构。

19、代码更新SVN不及时,提交不写Log,PMS改BUG不写备注不明显。

要求:争取每天提交代码,最多不超过两天,提交必须写Log,写增加或者修改功能,后续svn会加上限制,不写Log不允许提交,
PMS修改完BUG请备注中用5到30个字简单说明原因。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 最近突发奇想,想到之前公司培训的代码规范,所以简单的整理一下,希望能对大家有所帮助。 正文 部分一 1. 命...
    SwordDevil阅读 3,693评论 0 1
  • Version:1.0.0 Objective-C工程及代码规范 一、工程总述 1.工程名称为英文 工程名称必须为...
    小霍同学阅读 3,311评论 2 4
  • 一、基本规则 1、代码清晰 又清晰又简洁的代码当然是最好的了,但简洁不如清晰重要。总的讲不要使用单词的简写,除了非...
    萧修阅读 7,361评论 0 1
  • 1、使用预编译指令#pragma mark组织代码 (1) 视图或控制器生命周期相关的代码 (2)通知相关的代码 ...
    阿咿呀嘿阅读 2,967评论 0 0
  • 关于命名1> 统一要求• 含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释• 使用全称,不适...
    欧巴刚弄死他阅读 3,434评论 0 0