程序员工做三年想涨薪,却由于小细节没注意,被直接开除!

需求是暂时的,只有变化才是永恒的,面向变化编程,而不是面向需求编程。编程

不要过度追求技巧,下降程序的可读性。学习

简洁的代码可让bug无处藏身。要写出明显没有bug的代码,而不是没有明显bug的代码。ui

先把眼前的问题解决掉,解决好,再考虑未来的扩展问题。spa

1、命名规范

一、统一要求

含义清楚,尽可能作到不须要注释也能了解其做用,若作不到,就加注释,使用全称,不使用缩写。code

二、类名

大驼峰式命名:每一个单词的首字母都采用大写字母对象

==例:== MFHomePageViewController教程

三、私有变量

  • 私有变量放在 .m 文件中声明
  • 以 _ 开头,第一个单词首字母小写,后面的单词的首字母所有大写。

==例:== NSString *_somePrivateVariable内存

四、property变量

  • 小驼峰式命名:第一个单词以小写字母开始,后面的单词的首字母所有大写
  • 属性的关键字推荐按照 原子性,读写,内存管理的顺序排列。
  • BlockNSString属性应该使用copy关键字
  • 禁止使用synthesize关键词

==例:==开发

五、宏和常量命名

  • 对于宏定义的常量
    • #define 预处理定义的常量所有大写,单词间用 _ 分隔
    • 宏定义中若是包含表达式或变量,表达式或变量必须用小括号括起来。
  • 对于类型常量
    • 对于局限于某编译单元(实现文件)的常量,以字符k开头,例如kAnimationDuration,且须要以static const修饰
    • 对于定义于类头文件的常量,外部可见,则以定义该常量所在类的类名开头,例如EOCViewClassAnimationDuration, 仿照苹果风格,在头文件中进行extern声明,在实现文件中定义其值

==例:==get

六、Enum

  • Enum类型的命名与类的命名规则一致
  • Enum中枚举内容的命名须要以该Enum类型名称开头
  • NS_ENUM定义通用枚举,NS_OPTIONS定义位移枚举

==例:==

七、Delegate

  • delegate作后缀,如
  • optional修饰能够不实现的方法,用required修饰必须实现的方法
  • 当你的委托的方法过多, 能够拆分数据部分和其余逻辑部分, 数据部分用dataSource作后缀. 如
  • 使用didwill通知Delegate已经发生的变化或将要发生的变化。
  • 类的实例必须为回调方法的参数之一
    1. 回调方法的参数只有类本身的状况,方法名要符合实际含义
    2. 回调方法存在两个以上参数的状况,以类的名字开头,以代表此方法是属于哪一个类的

==例:==

八、方法

  • 方法名用小驼峰式命名
  • 方法名不要使用new做为前缀
  • 不要使用and来链接属性参数,若是方法描述两种独立的行为,使用and来串接它们。
  • 方法实现时,若是参数过长,则令每一个参数占用一行,以冒号对齐。
  • 通常方法不使用前缀命名,私有方法可使用统一的前缀来分组和辨识
  • 方法名要与对应的参数名保持高度一致
  • 表示对象行为的方法、执行性的方法应该以动词开头
  • 返回性的方法应该以返回的内容开头,但以前不要加get,除非是间接返回一个或多个值。
  • 可使用情态动词(动词前面can、should、will等)进一步说明属性意思,但不要使用dodoes,由于这些助动词没什么实际意义。也不要在动词前使用副词或形容词修饰

==例:==

分享以前我仍是要推荐下我本身建的iOS学习群:656315826,史上第一个iOS5000人群,都是学iOS开发的,若是你正在学习iOS,小编欢迎你加入,今天分享的这个案例已经上传到群文件,你们都是iOS党,不按期分享干货(只有iOS开发相关的),包括我本身整理的一份2017最新的iOS资料和零基础入门教程,欢迎初学和进阶中的小伙伴。

相关文章
相关标签/搜索