初始值设定项中的本地参数标签命名约定

时间:2016-04-18 12:02:49

标签: ios swift naming-conventions

假设我有一个这样的类:

class Foo {

    private let userId: String

    init(userId givenUserId: String) {
        userId = givenUserId
    }  
}

当我有类似上面的初始化器(或函数)时,设置一些内部变量,我喜欢它们的外部参数名称尽可能具有描述性。另一方面,在内部类实现中使用相同的名称也是很好的。但是我必须使用一些本地参数标签,我这样做是通过在外部参数标签之前添加前缀“given”。这是一个很好的方法吗?还是有更好的方法或惯例来解决这个问题?

2 个答案:

答案 0 :(得分:4)

在Swift初始化程序中,您可以使用与属性名称相同的本地标签。使用self.表示法,编译器会自动确定哪一个用于简单分配。这样,您就可以拥有富有表现力的外部参数,并避免定义外部和内部参数标签的负担。

class Foo {

    private let userId: String

    init(userId: String) {
        self.userId = userId
    }  
}

答案 1 :(得分:1)

为了避免含糊不清,你可以这样编写你的课程:

class Foo {

    private let userId: String

    init(userId userId: String) {
       self.userId = userId
    }
}

self关键字,将自动采用内部变量。

如果您想要了解如何获得良好的编码风格,我建议您:swift-style-guide

相关问题