查看: 2058|回复: 0

[IOS开发教程] 程序员工作三年想涨薪,却因为小细节没注意,被直接开除!

发表于 2018-1-29 08:00:02

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

不要过分追求技巧,降低程序的可读性。

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

先把眼前的问题解决掉,解决好,再考虑将来的扩展问题。
一、命名规范

  1、统一要求

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

  2、类名

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

  ==例:==MFHomePageViewController

  3、私有变量

  私有变量放在 .m 文件中声明

  以 _ 开头,第一个单词首字母小写,后面的单词的首字母全部大写。

  NSString *_somePrivateVariable

4、property变量
小驼峰式命名:第一个单词以小写字母开始,后面的单词的首字母全部大写

  属性的关键字推荐按照 原子性,读写,内存管理的顺序排列。

  Block、NSString属性应该使用copy关键字

  禁止使用synthesize关键词

  ==例:==
图片描述
5、宏和常量命名

对于宏定义的常量

  #define预处理定义的常量全部大写,单词间用 _ 分隔

  宏定义中如果包含表达式或变量,表达式或变量必须用小括号括起来。

  对于类型常量

  对于局限于某编译单元(实现文件)的常量,以字符k开头,例如kAnimationDuration,且需要以static const修饰

  对于定义于类头文件的常量,外部可见,则以定义该常量所在类的类名开头,例如EOCViewClassAnimationDuration, 仿照苹果风格,在头文件中进行extern声明,在实现文件中定义其值

  ==例:==
图片描述

6、Enum
Enum类型的命名与类的命名规则一致

  Enum中枚举内容的命名需要以该Enum类型名称开头

  NS_ENUM定义通用枚举,NS_OPTIONS定义位移枚举

  ==例:==
图片描述

7、Delegate
用delegate做后缀,如

  用optional修饰可以不实现的方法,用required修饰必须实现的方法

  当你的委托的方法过多, 可以拆分数据部分和其他逻辑部分, 数据部分用dataSource做后缀. 如

  使用did和will通知Delegate已经发生的变化或将要发生的变化。

  类的实例必须为回调方法的参数之一

  1. 回调方法的参数只有类自己的情况,方法名要符合实际含义

  2. 回调方法存在两个以上参数的情况,以类的名字开头,以表明此方法是属于哪个类的

  ==例:==
图片描述
图片描述

8、方法

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

==例:==
图片描述

图片描述



回复

使用道具 举报