kotlin 语言入门指南(三)--编码习惯-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

kotlin 语言入门指南(三)--编码习惯

简介: 这章主要讲当前 kotlin 的一些编码习惯。   命名 如无疑问,kotlin 的命名风格与以下的java风格一样: --驼峰命名法(不要使用下划线) --类名首字母大写 --方法和属性名首字母小写 --四个空格缩进 --公共方法要写文档注释    冒号  冒号分开类与父类时,要在冒号前面加空格,而分开类与实例时则不需要加。



这章主要讲当前 kotlin 的一些编码习惯。

 

命名

如无疑问,kotlin 的命名风格与以下的java风格一样:

--驼峰命名法(不要使用下划线)

--类名首字母大写

--方法和属性名首字母小写

--四个空格缩进

--公共方法要写文档注释

  

冒号

 冒号分开类与父类时,要在冒号前面加空格,而分开类与实例时则不需要加。

1 interface Foo<out T : Any> : Bar {
2     fun foo(a: Int): T
3 }

 

Lambdas

lambda 表达式中,花括号前后要用空格隔开,而且,箭头前后也要有空格,以便区分参数与函数体。

list.filter { it > 10 }.map { element -> element * 2 }

在单行 lambda 里,推荐在参数里用 it 关键字代替参数声明。而嵌套的 lambda 里参数就需要声明才能用。

 

Class 头部格式化

参数较少的 class 可以写成一行:

class Person(id: Int, name: String)

参数较多,头部较长的 class 可以将每个参数格式化成缩进式的一行一个,小括号可以另起一行。不过,如果我们在用继承,那么父类的构造函数调用里,或者实现的接口的list里,参数需要在括号内保持在一行:

1 class Person(
2     id: Int, 
3     name: String,
4     surname: String
5 ) : Human(id, name) {
6     // ...
7 }

至于多接口,超级父类构造函数的调用必须放在前面,其他的接口要另起一行:

1 class Person(
2     id: Int, 
3     name: String,
4     surname: String
5 ) : Human(id, name),
6     KotlinMaker {
7     // ...
8 }

构造函数的缩进可以是常规的缩进,也可以是持续缩进(常规缩进的double).

 

Unit

如果一个函数返回类型是 Unit ,那么它的返回类型可以省略,不指定:

1 fun foo() { // ": Unit" 在这里被省略了
2 
3 }

 

Functions vs Properties

在某些情况下,无参数的方法可以跟只读属性互换。尽管语义类似,在互换时还是有一些语法风格与使用习惯上的约定,在满足以下算法规则下时,支持方法与属性互换:

--无抛出异常

--复杂度为0(1)

--简单运算

--返回结果相同

 

 

转载请注明原文地址:http://www.cnblogs.com/joejs/p/6889993.html

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章