苹果官方原文链接:General Principles

代码命名基本原则:通用规范

 

代码含义清晰

尽可能将代码写的简洁并且明白是最好的,不过代码清晰度不应该因为过度的简洁而受到影响。例如:

代码

解释

insertObject:atIndex:

命名很好

insert:at:

不太清晰,什么要被插入?at是指什么?

removeObjectAtIndex:

命名很好

removeObject:

命名很好,因为他指明了(要移除)参数中的对象

remove:

不清晰,移除什么?

通常情况下,不要用单词的缩写,即使单词很长。否则代码会变得很难读

代码

解释

destinationSelection

命名很好

destSel

不太清晰.

setBackgroundColor:

命名很好.

setBkgdColor:

不太清晰.

你或许认为一些单词的缩写大家都明白,但是不一定。尤其当其他在不同环境下或者不同语言背景吓的开发者看到你写的方法或者函数名称时。当然不排除有些单词缩写已经流行了很长时间并且很通用。你可以继续使用它。

在接口命名中,避免歧义,像一些方法名称可以被解释为多种含义。例如

代码

解释

sendPort

发送一个端口 还是 返回一个发送端口的名称?

displayName

显示一个姓名?还是返回一个用户名称?

一致性

在整个Cocoa 编码接口中,尽量使用一致的命名。如果你不确定的话,看一看头文件或者参考文档。

当你编写了一个类中需要用到多态的时候,代码一致性显得尤为重要。在不同的类中,命名相同的方法应该做同样的事情。例如

代码

解释

- (NSInteger)tag

在 NSViewNSCellNSControl.中都有定义

- (void)setStringValue:(NSString *)

在一系列的Cocoa 类中均有定义

命名不要自我指示。例如 user.username 用 user.name 即可

代码

解释

NSString

可以.

NSStringObject

NSString已经是对象类型,不必要的在加object

类和协议的命名

一个类的名称应该包含一个能够表明该类所要表达的意思或者功能。类名需要一个适当的前缀。Foundation和Application框架已经有很多例子了,例如:NSString,NSDate,NSScanner,UIButton等

协议(Protocol)应该根据自身所包含的行为来命名

大多数协议都定义了相关联的方法但是并不和一些特定的类有联系。这种协议命名不能和类命名混淆。一种通用的做法就是加 ing

NSLocking  (好的命名) NSLock(不像协议的命名,更像某个类的命名)

头文件

定义相关的类或者协议。在一组相关的类,协议,分类等。把声明放在一个文件中,该文件包含主类、类别或协议的名称。

头文件

定义

NSString.h

NSString 和NSMutableString 类.

NSLock.h

NSLocking 协议and NSLockNSConditionLock, 和NSRecursiveLock 类.

包含框架头文件。每一个框架都应该有一个头文件,并且头文件命名和框架命名一致,头文件中包含框架中所有的公开头文件。例如:Foundation.h (Foundation框架),AFNetworking.h

备注:

ambiguity  歧义

interpret 解释

【翻译】苹果官网的命名规范之 Code Naming Basics-General Principles的更多相关文章

  1. 【翻译】苹果官网的命名规范之 Naming Properties and Data Types

    苹果官方原文:Naming Properties and Data Types 前言:纯属练习英语和学习.翻译错误和不通顺的地方敬请谅解和指正.O(∩_∩)O 属性和数据类型的命名 本节讲述了属性定义 ...

  2. 验证Xcode真伪的方法,来自苹果官网

    验证Xcode真伪的方法,来自苹果官网   Xcode的验证你的版本 2015年9月22日    注意:中文为有道翻译,看下验证方法即可.   我们最近将应用程序从应用程序商店,还建有Xcode的假冒 ...

  3. 新型钓鱼手段预警:你看到的 аррӏе.com 真是苹果官网?

    研究人员发现一种"几乎无法检测"的新型钓鱼攻击,就连最细心的网民也难以辨别.黑客可通过利用已知漏洞在 Chrome.Firefox 与 Opera 浏览器中伪造显示合法网站域名(例 ...

  4. 如何在苹果官网下载旧版本的Xcode

    如何在苹果官网下载旧版本的Xcode 前段时间XcodeGhost事件让很多应用中招,不乏一些知名的互联网公司开发的应用.事件的起因是开发者使用了非官方的Xcode,这些Xcode带有xcodegho ...

  5. APP Distribution Guide 苹果官网

    https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduct ...

  6. [WPF] 抄抄超强的苹果官网滚动文字特效实现

    1. 前言 今天 ChokCoco 大佬发布了一篇博客 超强的苹果官网滚动文字特效实现,iPhone 我是买不起的,但不妨碍我对抄特效感兴趣,正好我这周安排的工作已经完成了,于是有空练练手实现了一个 ...

  7. bcache 状态/配置 文件详细介绍(翻译自官网)

    声明: 文中 斜体带下划线  的段落为翻译不够准确的段落 原文:https://www.kernel.org/doc/Documentation/bcache.txt 官网:https://bcach ...

  8. 苹果官网 demo The Elements 阅读随笔

    The Elements https://developer.apple.com/library/ios/samplecode/TheElements/Introduction/Intro.html# ...

  9. 如何在苹果官网下载旧版本的Xcode 方法

    1   在百度里输入“苹果开发者中心“,进入以下页面.点击页面中的“Member Center" 2  出现登录界面.这是需要苹果开发者帐号的,没有帐号的可以选择“Create Apple ...

随机推荐

  1. mysql DCl语句

    DCl 语句主要书DBA用来管理系统中的对象权限使用 grant select,insert on sakila.* 'kingle'@'localhost' identified by '123'; ...

  2. keepalived+lvs简单实现

    一,部署实战环节 01,服务架构图: 服务器镜像为centos6.9   02,服务安装: 10.0.0.10: 下载keeplived官方包--> http://www.keepalived. ...

  3. [转]批处理for命令使用指南

    摘要:本文由浅入深,为大家专门讲解for的用法,希望大家喜欢. 首先应该明确的是,for不是一个简单的命令,它的用法比较复杂,它还可以带四个参数(/L /D /R /F),其中:/L和/F参数是最经常 ...

  4. Jenkins+Postman+Newma+Xmysql之API全自动化测试

    第一章 前期准备:各种安装配置介绍 ①Postman安装及使用 ②Newman 安装及使用 ③Xmysql 安装及使用 ④Jenkins安装及配置 1.postman 安装及使用 1.1.postma ...

  5. nyoj 206——矩形的个数——————【dp或公式】

    矩形的个数 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3 ...

  6. SpringBoot | 第二十七章:监控管理之Actuator使用

    前言 随着我们服务越来越多,部署的环境也越来越繁多时,由于各服务都部署在不同的机器上,每当出现问题或者异常时,想快速进行问题的定位就变的麻烦了.所以,本章节开始,开始讲解SpringBoot的监控相关 ...

  7. 几道web题简单总结

    拖了好长时间,总结一下这一段时间做的几道值得记录一下的题目,有的没做出来,但是学习到了新的东西 1.homebrew event loop ddctf的一道题目,学到了python eval函数的用法 ...

  8. JS常用的设计模式(4)——适配器模式

    去年年前当时正在开发dev.qplus.com, 有个存储应用分类id的js文件, 分类id的结构最开始设计的比较笨重. 于是我决定重构它. 我把它定义成一个json树的形式, 大概是这样: var ...

  9. C#IO流文件操作

    文件流 创建文件流 读写文件的第一步就是创建文件流,流是一个用于数据传输的个对象,它是FileStream类型,在创建一个文件流是需要在他的构造中指定参数 语法: FileStream 文件流对象=n ...

  10. 今天研究Unity Ioc 框架

    今天研究Unity Ioc 框架,被自己坑了两个多小时. 运行就报错,反反复复检查了很多次,配置文件,代码都没有问题,也从新写了好几遍. 最后仔细看报错消息才知道,config文件没有生成到目录……… ...