Mik*_*nke 7 java convention coding-style kotlin
Kotlin介绍了数据类的精彩概念.这些类派生的equals()/hashCode(),toString(),getters()/setters(),和copy()基于构造函数声明的属性功能:
data class KotlinUser(val name: String, val age: Int)
在Java中,这看起来像:
public class JavaUser {
public JavaUser(String name, Int age) {
...
}
//getters
//setters
//equals()/hashCode()
//toString()
}
Run Code Online (Sandbox Code Playgroud)
我的问题是关于在Kotlin中打包这些数据类文件.来自Java我将存储JavaUser在自己的Class文件中:org.package.foo.JavaUser
由于数据类的简单性,我们是否在Kotlin中以相同的方式存储数据类文件?(即org.package.foo.KotlinUser每个数据类的单独文件).另外,是否不赞成将多个数据类存储在一个类文件中?:
org.package.foo.DataClasses 包含:
data class Foo(val a: String, val b: String)
data class Bar(val a: Int, val b: Int)
Run Code Online (Sandbox Code Playgroud)
我环顾了Kotlin文档的成语/编码风格部分,但却找不到任何相关内容(也许我已经略过了它).什么是最佳做法?
谢谢!
Kotlin in Action一书讲述了源代码布局(第2.2.3章,第27页):
在Kotlin中,您可以将多个类放在同一个文件中,并为该文件选择任何名称.
...
但是,在大多数情况下,遵循Java的目录布局并根据包结构将文件组织到目录中仍然是一种很好的做法.在Kotlin与Java混合的项目中,坚持这种结构尤为重要.
...
但是你应该毫不犹豫地将多个类放入同一个文件中,特别是如果类很小(而且在Kotlin中,它们通常都是).
所以回答你的问题:这取决于:)
| 归档时间: |
|
| 查看次数: |
1338 次 |
| 最近记录: |