[关闭]
@yanzhiwei147 2016-06-07T10:20:43.000000Z 字数 2470 阅读 1383

编码约定+ViewController

笔试题目


单选题 多选题 判断题 主观题
12 4 4 0

单选题

  1. A__attribute__((const))
  2. B__attribute__((overloadable))
  3. C__attribute__((deprecated))
  4. D__attribute__((packed))
  1. A__nonnull / nonnull ,标示该指针不应该为 nil,如果传 nil 给该指针,将会收到编辑器的警告
  2. B__nullable / nullable ,标示该指针可以接受 nil
  3. C、空值标注特性与异常一致,都是作用在运行时
  4. D、新建的头文件头尾都应该加上NS_ASSUME_NONNULL_BEGINNS_ASSUME_NONNULL_END
  1. AObjective-C目前还不支持泛型
  2. B、泛型可以在编译阶段一定程度上保证类型安全
  3. C、泛型容器可以约束容器内元素类型
  4. D、泛型协变性可以实现里氏替换
  1. A、应该使用标准英语命名
  2. B、可以不受限制在任何作用域使用单字母作为变量名
  3. C、应尽量避免定义直接访问的实例变量
  4. D、变量限定符应该位于星号与变量名之间
  1. ANSString* text = nil;
  2. BNSString *text = nil;
  3. CNSString * text = nil;
  4. D、(NSString *) text = nil;
  1. ALifeCycleDelegateGetterSetter
  2. BLifeCycleDatasourceProtocolGetterSetter
  3. CLifeCycleDatasourceDelegateGetterSetter
  4. DLifeCyclePublicPrivateDatasourceDelegate
  1. A、推荐使用 NS_ENUM 而不是 enum
  2. B、对于一个 CGRect 变量,推荐直接访问, frame.origin.x
  3. C、当需要定义一个常量时,使用 const进行常量定义 , 而不是使用宏(#define)
  4. D、当需要定义个一个 Option 时,推荐使用 NS_OPTION
  1. A、尽量使用语法糖进行编码
  2. B、使用 dot 来访问属性,方括号访问方法
  3. C、鼓励使用 Error 是不是为空对代码语句的结果进行判断
  4. D、所有的属性(property)都使用 getter setter
  1. A、为了简化代码应尽量使用缩写
  2. B、为了分隔代码,每个方法间应该留很多的空行
  3. C、属性和局部变量应该使用驼峰命名法并且首字母小写
  4. D、类变量尽量使用实例变量,而不是合成器方法
  1. A、注释应该被用来解释 为什么 特定代码做了某些事情
  2. B、注释可以随意书写描述
  3. C、可以修改方法内部实现而不同步修改注释
  4. D、注释越多越好
  1. A、常量可以声明为 static
  2. B、常量应该声明为 const
  3. C、常量首选内联字符串字面量或数字
  4. D、#define定义常量能在编译时检查类型
  1. A、类的头文件与实现文件中应该标示创建者与创建时间
  2. B、应当使用注释描述该类的核心价值
  3. C、实现文件中不需要分段代码
  4. D、实现文件中分段应该按照约定进行分类

多选题

  1. A、在使用 switch 语句时,总是需要使用default
  2. B、鼓励在遇到错误时 return, 不嵌套 if
  3. C、鼓励多使用缩写令代码简洁, btn
  4. D、在一个 switch 中,case 中的大括号不是必须的
  1. A、在条件允许的情况下,紧随 Objective-C 的新特性
  2. B、当一个类需要实现的 Protocol 较多时,分行书写
  3. C、不应该使用 and 这个单词用于多个参数来说明
  4. DObjc 类名和常量应该使用三个字母作为前缀,但 Core Data 实体名称可以不用
  1. A、方法在 -/+ 符号后应该有一个空格
  2. B、方法片段之间也应该有一个空格
  3. C、方法实现大括号{应该位于函数所在行的末尾,且应该有一个空格
  4. D、最好使用Tab进行缩进,而不是空格
  1. ANSArray *names = @[@"Brian", @"Matt", @"Chris", @"Alex", @"Steve", @"Paul"];
  2. BNSDictionary *productManagers = [NSDictionary dictionaryWithObjectsAndKeys: @"Kate", @"iPhone", @"Kamal", @"iPad", @"Bill", @"Mobile Web", nil];
  3. CNSNumber *shouldUseLiterals = @YES;
  4. DNSNumber *buildingZIPCode = [NSNumber numberWithInteger:10018];

判断题

  1. A、对
  2. B、错
  1. A、对
  2. B、错
  1. A、对
  2. B、错
  1. A、对
  2. B、错

主观题

待补充

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注