美文网首页
iOS -- 实现 description , 规范命名方法 (

iOS -- 实现 description , 规范命名方法 (

作者: dingzhijie | 来源:发表于2017-08-28 17:03 被阅读0次

实现 description 方法

NSlog 在输出自定义的类时, 只输出了 类名 和 对象的内存地址. 要想输出更为有用的信息也很简单, 只需要覆写 description 方法并将描述此对象的字符串 返回即可.

- (NSString*)description{

return     xxxxxxx;

}

有个简单的办法, 可以在 description 中输出很多互不相同的信息, 那就是借助 NSDictionary 类的 description 方法.

- (NSString *)description{

return  [NSString stringWithFormat:@"%@",@{@"title: _title, @"age":@(_age)"}];

}

NSObject 协议中还有一个方法  debugDescription , 此方法的用意与 description 非常相似, 二者的区别在于,  debugDescription 方法是开发者在调试器中以控制台命令 打印对象时才调用的.  在 NSObject  的默认实现中, 此方法只是直接调用了 description 

使用方法, 我们在创建实例所用的代码后面插入断点, 然后通过调试器, 使其暂停于此, 当程序运行到断点时, 开发者就可以向调试器控制台中输入命令了,  

'po' 命令, 可以完成对象打印的 (prient-object) 工作.

同样, 你也可以覆写 debugDescription 的方法, 使其更合你意.

总结:

实现 description 方法返回一个有意义的字符串, 用以描述该实例

若想在调试时打印出更详细的对象描述, 则应实现 debugDescription 方法,  'po' 命令, 打印对象

2: 尽量使用不可变对象

设计类的时候, 应充分运用属性来封装数据. 而在使用属性时, 则可将其生命为 '只读'. 默认情况下, 属性是 '可读可写的', 这样设计出来的类都是 '可变的'. 不过, 一般情况下,我们要建模的数据未必需要改变.

 具体到编程实践中,则尽量把对外公布出来的属性设为只读, 而且在只有却又必要的时候对外公布.

总结:

尽量创建不可变的对象

3: 使用清晰而协调的命名方式

尽量使用  '驼峰式大小写命名法' 

方法命名 长度要适中, 表达清晰, 且言简意赅.

给方法命名时的注意事项

(1) 如果方法的返回值是新创建的, 那么方法名的首个词应是返回值的类型, 除非前面还有修饰语.属性的存取方法不遵循这种命名方式.  属性的存取方法应该按照其对应的属性来命名.

(2) 应该把表示参数类型的名词放在参数前面.

(3) 如果方法要在当前对象上执行操作. 那么就应该 包含动词, 若执行操作时还需要参数. 则应该在动词后面加上 一个 或多个名词.

(4) 不要使用 str 这样的简称, 而应该使用 String 这样的全称.

(5) Boolen  属性应加上 is 前缀, 如果某方法返回非属性的 Boolean 值, 那么应该根据其功能, 选用 has 或  is 当前缀.

(5) 将 get 这个前缀 留给那些 借由 ' 输出参数' 来保存返回值的方法.

类与协议的命名

应该为类与协议的名称加上前缀, 以避免命名空间冲突. 而且应该像给方法起名时那样吧词句组织好, 使其从左至右读起来较为通顺.

类 与 协议的命名惯例, 命名方式应该协调一致. 

总结:

起名时应遵循从标准的 OC 命名规范

方法名要言简意赅, 从左至右读起来顺畅

方法名里不要使用缩略后的类型名称

为私有方法命名规范

以 'p_' 开头命名私有方法, 这样容易区分

不要但用一个下划线 '_' 做私有方法的前缀, 因为这种方法是预留给苹果公司的.

相关文章

  • iOS -- 实现 description , 规范命名方法 (

    实现 description 方法 NSlog 在输出自定义的类时, 只输出了 类名 和 对象的内存地址. 要想输...

  • eggjs 模板插件开发

    主要需要遵循相关的规范 插件命名规范 实现规范, 提供render renderToString 方法实现。以eg...

  • 谈谈iOS中的命名规范

    转载:http://liumh.com/本文谈谈 iOS 开发中的命名规范,主要涉及常量命名、枚举命名、类及其方法...

  • OC第一节课

    声明变量;命名要规范 实现变量 方法声明 方法实现1 .变量声明 2 .方法声明 方法类型分为+ -: ...

  • iOS代码命名基础

    iOS 代码架构规范iOS 命名方法 代码命名基础 面向对象软件库设计中经常被忽视的一个方面是类,方法,函数,常量...

  • iOS代码规范

    iOS代码规范 1、命名规范 类名首字母大写,方法首字母小写,方法中的参数首字母小写,同时尽量让方法的命名读起来像...

  • iOS 命名方法

    iOS基础命名基础iOS 代码架构规范 通用规则 在命名方法时,请记住以下几条一般准则: 使用小写字母开始名称,并...

  • iOS 编程方法命名规范

    1) 方法名用小驼峰式命名 2)方法名不要使用new作为前缀 3)不要使用and来链接属性参数,如果方法描述两种独...

  • iOS 变量、方法命名规范

    1.基础命名 1.1 清晰 - 命名应该清晰,明确,在做到这两点的基础上尽量简洁。 例如: insert:...

  • iOS 简单使用description方法

    简单的说说ios中的description方法,在iOS中description方法是一个非常实用的方法,在调试程...

网友评论

      本文标题:iOS -- 实现 description , 规范命名方法 (

      本文链接:https://www.haomeiwen.com/subject/kpkgdxtx.html