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

2022-09-01 10:53:37

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

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

app:
-manifest
-java-kotlin

-res

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

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

我的问题是:Kotlin文件是否应该与同一目录中的Java文件“共存”?

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

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


答案 1

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

当你有一个Java项目逐渐转换为Kotlin时,拥有一个单独的源目录尤其不方便。将每个转换后的文件移动到不同的源目录会使转换过程不必要地更加繁琐。


答案 2

由于文件的放置对 Kotlin 编译器没有多大意义,因此惯例是“逻辑地”将 文件放置在模块中,就像处理 Java 文件一样。

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


推荐