Kotlin Reference (三) Coding Conventions
来源:互联网 发布:中国网络资讯台无锡市 编辑:程序博客网 时间:2024/05/29 10:22
most from reference
命名规则
1.使用驼峰式命名规则,尽量避免在命名中使用下划线
2.类型以大写字母开头
3.方法和属性以小写字母开头
4.使用4个空格缩进
5.public的方法加上注释说明,以便他们能出现在Kotlin Doc中
冒号
分隔子类和父类的冒号前面应该加上一个空格,分隔对象实体和类的冒号前面没有空格
interface Foo<out T : Any> : Bar { fun foo(a: Int): T}Lambdas
在Lambda表达式中,空格用于在大括号周围(前后都有空格),以及分隔参数的箭头,如果可能,一个Lambda表达式应该在括号之外传递。
list.filter { it > 10 }.map { element -> element * 2 }在比较短而且不是嵌套的Lambda表达式中,推荐使用it关键字代替直接重新定义变量。在嵌套的Lambda的表达式中,参数应该始终明确。
类头文件格式
带有很少参数的类可以写成一行
class Person(id: Int, name: String)带有很多参数的类,每个属性必须都单独缩进成一行,并且最后的大括号应该单独成行。如果我们使用继承父类的构造函数,调用或实现的接口列表应该和括号位于同一行。
class Person( id: Int, name: String, surname: String) : Human(id, name) { // ...}对于多接口,父类的构造函数应该写在最前面,然后各接口的实现方法应该都在不同的行。
class Person( id: Int, name: String, surname: String) : Human(id, name), KotlinMaker { // ...}构造函数的参数可以用用常规缩进或延续缩进(常规缩进的两倍)
Unit
如果一个方式的返回值是Unit(没有返回值),可以省略
fun foo() { // ": Unit" is omitted here}方法和属性
在某些情况下,没有参数的函数可以和只读属性互换。虽然语义相似,但也有一些风格上的约定。
更趋向选择属性而不是方法的一些情况:
1.没有throw Exception
2.有o(1)复杂度
3.计算简便(第一次运行缓存)
4.调用的时候返回相同的结果
阅读全文
0 0
- Kotlin Reference (三) Coding Conventions
- Kotlin-03.编码规范/代码风格(Coding Conventions)
- Kotlin学习(五): 惯用语法和代码风格(Idioms And Coding Conventions)
- Project specific coding conventions
- Coding Style Conventions
- WEB Coding Conventions
- Qt Coding Conventions
- RTEMS 源文件coding conventions
- windows编程之一Windows Coding Conventions
- Kotlin Reference (三) Basic Types, String, Array and Imports
- Kotlin Reference (六) 接口
- kotlin Unresolved reference: kotlinx
- Kotlin Reference (二) Idioms
- Kotlin Reference (五) Packages
- Kotlin Reference (十) Interfaces
- Kotlin Reference (十二) Extensions
- Kotlin Reference (十四) Generics
- Conventions
- linux下源码包安装apache
- Atmel Studio-SAM单片机开发 ---EXTINT
- 关于RecyclerView列表点击事件ripple效果失效的问题
- 深搜 加奇偶剪枝
- jQuery获取格式化当前时间
- Kotlin Reference (三) Coding Conventions
- 雷军给程序员的五点建议--如何成为编程高手并以此创业
- [Muduo网络库源码分析] (5) base/FileUtil.cc_h_文件操作
- Scala定义函数的5种方式
- 有关数组的基础递归
- 改变this指向(call、apply、bind)
- cannot simultaneously fetch multiple bags[]不能抓取一对多的属性
- iOS pop到指定页面
- struts2把action交给spring托管