Kotlin文件应该放在Android的单独源目录中吗?

时间:2016-07-17 20:58:33

标签: java android kotlin

由于它的好处,我将开始使用Kotlin进行Android开发以及Java。我已经安装了Android Studio插件,并在gradle文件中包含了相关的依赖项。

所以我从Kotlin文档和Stack Overflow中读到,可以为Kotlin文件包含一个单独的源目录,如下所示:

  

应用程式:
  -manifest
  -java
  的 -kotlin
  -res

我知道我可以通过将以下内容添加到我的build.gradle文件中来创建此目录:

sourceSets {
    main.java.srcDirs += 'src/main/kotlin'
}

我的问题是: Kotlin是否应该将Java文件“直播”存放在同一目录中?

除了意见之外,我想知道是否有一个特定的惯例,如果有的话,为什么会这样。

如果没有,那么每个选项的优点和缺点是什么?

2 个答案:

答案 0 :(得分:27)

将Kotlin文件放在一个单独的源目录中是一种记录的可能性,因为在Kotlin的早期(1.0版之前)版本中,这是唯一受支持的设置。之后,Kotlin Gradle插件变得更加灵活,因此不再需要目录分离。我不知道将Kotlin文件放在单独的源目录中可以获得任何好处。

当您拥有一个逐渐转换为Kotlin的Java项目时,拥有一个单独的源目录尤其不方便。将每个转换后的文件移动到不同的源目录会使转换过程变得更加麻烦。

答案 1 :(得分:4)

由于文件的放置对Kotlin编译器没有多大意义,因此惯例是将模块置于模块中"逻辑上"与使用Java文件的方式相同。

例如,如果您决定通过将Java类转换为Kotlin来重构Java类,则生成的Kotlin文件应该取代原始Java文件。