美文网首页
代码规范那些事

代码规范那些事

作者: 下雨之後 | 来源:发表于2016-10-24 09:19 被阅读11次
条件语句

条件语句体应该总是被大括号包围。

if (!error) {
    return success;
}
nil 和 BOOL 检查

用感叹号来作为运算符。

if (someObject) { ...
if (!someObject) { ...
黄金大道

使用多个 return 可以避免增加循环的复杂度,并提高代码的可读性。

- (void)someMethod {
  if (![someOther boolValue]) {
      return;
  }

  //Do something important
}
三元运算符

当三元运算符的第二个参数(if 分支)返回和条件语句中已经检查的对象一样的对象的时候,下面的表达方式更灵巧:

result = object ? : [self createObject];
常量命名

应该以驼峰法命名,并以相关类名作为前缀。

static const NSTimeInterval ZOCSignInViewControllerFadeOutAnimationDuration = 0.4;
可变类型

推荐使用 NSMutableArray, NSMutableString 这样的类。
应该避免下面这样:

NSMutableArray *aMutableArray = [@[] mutableCopy];
Init 和 Dealloc

永远不要在 init (以及其他初始化方法)和dealloc方法中里面用 getter 和 setter 方法,你应当直接访问实例变量。

点符号

当使用 setter getter 方法的时候尽量使用点符号。应该总是用点符号来访问以及设置属性。例如:

view.backgroundColor = [UIColor orangeColor];
[UIApplication sharedApplication].delegate;

不要这样:

[view setBackgroundColor:[UIColor orangeColor]];
UIApplication.sharedApplication.delegate;

使用点符号会让表达更加清晰并且帮助区分属性访问和方法调用。

属性定义
  • 属性可以存储一个代码块。为了让它存活到定义的块的结束,必须使用 copy (block 最早在栈里面创建,使用copy让 block 拷贝到堆里面去)
  • 描述BOOL属性的词如果是形容词,那么setter不应该带is前缀,但它对应的 getter 访问器应该带上这个前缀,如:
@property (nonatomic, assign, getter=isEditable) BOOL editable;
NSNotification
// Foo.h
extern NSString * const ZOCFooDidBecomeBarNotification

// Foo.m
NSString * const ZOCFooDidBecomeBarNotification = @"ZOCFooDidBecomeBarNotification";

参考:
Objc Zen Book(禅与 Objective-C 编程艺术)
英文原址:https://github.com/objc-zen/objc-zen-book
中文翻译:https://github.com/oa414/objc-zen-book-cn

相关文章

  • 代码规范那些事

    条件语句 条件语句体应该总是被大括号包围。 nil 和 BOOL 检查 用感叹号来作为运算符。 黄金大道 使用多个...

  • 代码之天圆地方

    优雅的写代码轻松的查代码严格的审代码 一、 iOS代码规范检查 新人入场第一件事就是熟悉代码规范iOS代码编程规范...

  • 代码规范那点事

    最近这个月,从制作 CocoaPods 私有库,到搭建 Git 服务器,大多数时间都花在了调研和试错上。不过调研试...

  • Web 端代码规范

    目录 1、代码规范概述 2、代码规范流程搭建 3、代码规范细则 1、代码规范概述 良好的代码规范能够提供软件的可读...

  • 代码规范

    代码规范 1. 概述 欢迎使用前端代码规范, 这里借鉴、引用的是京东前端代码规范。 遵循代码规范的目的在于增强团队...

  • iOS 代码规范篇

    iOS 代码规范篇 iOS 代码规范篇

  • iOS(OC)开发之随感

    1.代码规范 规范很重要!规范很重要!规范很重要! 代码规范的重要性之-为什么谷歌要执行严格的代码编写规范http...

  • 前端学习的基本总结

    目录 1.为什要遵守代码规范 2.css代码规范 3.js代码规范与设计模式3.1 js代码规范3.2 设计模式 ...

  • 乐乎项目优化

    编程: 1、代码规范。架构规范、文件组织规范、命名规范、代码逻辑规范、资源存放。 一、使用cocoapod 二、代...

  • 小肤iOS开发代码规范_v1.0

    For Objective-C , 2018.8.2 Ⅰ.前言Ⅱ.命名规范Ⅲ.代码注释规范Ⅳ.代码格式化规范Ⅴ....

网友评论

      本文标题:代码规范那些事

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