End*_*esh 4 naming naming-conventions swift swift3
关于变量名: 假设有一些类似于以下的代码:
class AgentModel
var name: String?
var office: String?
var phone: String?
Run Code Online (Sandbox Code Playgroud)
命名约定是否会规定将这些命名为
class AgentModel
var nameString: String?
var officeString: String?
var phoneString: String?
Run Code Online (Sandbox Code Playgroud)
我无法确定 Apple 是否明确制定了是否首选一种做法的指导方针,但似乎 Swift-y 似乎并不总是遵循后者,除非有必要。
关于对象名称:同样,对象是否应该被命名
AgentModel
Run Code Online (Sandbox Code Playgroud)
还是应该如下命名?
Agent
Run Code Online (Sandbox Code Playgroud)
乍一看,我认为这将遵循相同的约定。我是对的,还是这会是规则的例外?
人们对此有想法和/或参考吗?谢谢!
省略不必要的词。名称中的每个词都应传达使用地点的显着信息。
可能需要更多的词来阐明意图或消除歧义,但应省略那些与读者已经掌握的信息冗余的词。特别是,省略仅重复类型信息的词。
和:
根据它们的角色而不是它们的类型约束来命名变量、参数和关联类型。
所以
var nameString: String?
var officeString: String?
var phoneString: String?
Run Code Online (Sandbox Code Playgroud)
显然不推荐。
var name: String?
var office: String?
var phone: String?
Run Code Online (Sandbox Code Playgroud)
很好,但可能会进一步改进,例如使用phoneNumber
代替phone。
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |