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

除了Java之外,我将开始使用Kotlin进行Android开发,因为它的好处。 我已经安装了Android Studio插件,并在我的gradle文件中包含了相关的依赖关系。

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

应用:
-表现
-java
-kotlin
-res

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

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

我的问题是: 如果Kotlin文件与相同目录中的Java文件“存在”或不存在?

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

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

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

当你有一个你正在逐渐转换到Kotlin的Java项目时,有一个单独的源目录是特别不方便的。 将每个转换的文件移动到不同的源目录会使转换过程变得不必要的更麻烦。

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

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