函数和方法命名规范

请各位随意批判。同时请看这里这里swift

简单明了。根据上下文给动词和介词加上名词。请使用removeObject(object, atIndex: index),而不是remove(object, at: index)。不要为了过分的简洁而影响清晰准确性。函数

避免缩写。使用printError(myError)而不是printErr(myErr)以及setBackgroundImage(myImage)而不是setBGImage(myImg)。虽然苹果提供了一系列“可接受”的缩写,可是请不要在 Swift 中使用像 max 和 min 这样的缩写。测试

避免歧义。考虑一下函数或者方法的命名是否存在多种解释。举个栗子,在displayName中,display 是名词仍是动词呢?若是命名不清晰的话,请从新命名来消除混淆。fetch

保持一致性。在你的应用和库中使用相同的术语来描述概念。避免在一个方法里使用fetchBezierElements(),却在另一个里使用listPathComponents()ui

不要引用类型关键字。避免命名中出现 struct、enum、class、instance 以及 object。请使用buildDeckofCards()而不是buildDeckofCardsStruct()翻译

方法命名使用小写。虽然大多数开发者使用小写命名全局函数,但你能够大写,这并非什么罪过。虽然这种函数命名 过期了,但大写的函数名却能马上将函数与方法区别开来。有一段时间我也改变过想法,可是最终仍是决定奋起抗争,使用小写。这种作法曾经和命名空间同样普 及,可是忽然间就销声匿迹了。就像一百万个喊着大写的人忽然沉默。code

省略”get”。获取状态信息的函数应该描述他们要返回的东西。请使用extendedExecutionIsEnabled()isExtendedExecutionEnabled()而不是getExtendedExecutionIsEnabled()。经过参数返回数据的函数例外。接口

使用标签描述参数。建议结合函数名和标签来描述函数自己,这样建立出来的会是包括介词(with、of、 between 等等)的描述符。你会”construct color with red, green, and blue”(译者注:使用红绿蓝构建颜色),测试”length of string”(译者注:字符串的长度),或者”test equality between x and y”(译者注:判断 x 和 y 是否相等)。开发

好的函数名和标签能够告诉人们如何使用函数。结果会是自文档化,不用依靠记忆或查找来肯定须要传入的参数。请使用withTag:而不是tag:rem

使用介词,避免”and”And 是 Apple 特别声称要避免的一个词。避免使用”view and position”,使用”view, position”。

若是你必须使用and,请确保一组参数有语义联系,如使用”red, green and blue”构建颜色。哪怕以后调整了关键字,也显然不可能中断这些项的联系。在这种状况下,即便是代码洁癖患者也不会认为你的代码有问题。

Apple 支持使用 and 的一个例子是在一个方法中描述两种大相径庭的动做,好比openFile(withApplication:, andDeactivate:)

在基于类型的名字后面加上value 。请使用toIntValue而不是toInt,以及withCGRectValue而不是withCGRect

使用美国标准短语。因为这些词是由 Apple 提供的,请使用 initialize 而不是 initialise 以及 color 而不是 colour。

有疑惑,找 Apple。使用类似的概念搜索 Apple API 接口并模仿其方法签名。尽可能参考 Objective-C 命名,由于 Swift 中的 Apple API 并无所有经过人工审查。自动转换过来的 API 可能并非一个好例子。

 

翻译文连接:http://swift.gg/2015/11/12/naming-methods-and-functions/

英文原文连接:http://ericasadun.com/2015/08/31/naming-methods-and-functions/

相关文章
相关标签/搜索