¿Deben colocarse los files de Kotlin en un directory de origen separado en Android?

Voy a comenzar a usar Kotlin para el desarrollo de Android además de Java debido a sus beneficios. He instalado el complemento Android Studio e incluí las dependencies relevantes en mis files gradle.

Así que he leído de la documentation de Kotlin y Stack Overflow que es posible include un directory de origen separado para los files de Kotlin, así:

aplicación:
-manifiesto
-Java
kotlin
-res

Sé que puedo crear este directory agregando lo siguiente a mi file build.gradle :

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

Mi pregunta es: ¿ deberían los files Kotlin 'en vivo' con files Java en el mismo directory o no?

Además de las opiniones, me gustaría saber si existe una convención particular para esto, y si es así, por qué es así.

Si no, ¿cuáles son las ventajas y desventajas de cada opción?

Poner los files de Kotlin en un directory de origen separado existe como una posibilidad documentada porque en las primeras versiones (anteriores a la versión 1.0) de Kotlin esta era la única configuration admitida. Posteriormente, el complemento Kotlin Gradle se hizo más flexible, por lo que la separación de directorys ya no es necesaria. No conozco ningún beneficio que pueda getse al colocar los files de Kotlin en un directory de origen separado.

Tener un directory fuente separado es especialmente inconveniente cuando tienes un proyecto Java que estás convirtiendo gradualmente a Kotlin. Mover cada file convertido a un directory de origen diferente hace que el process de conversión sea innecesariamente más engorroso.

Dado que la colocación de files no significa mucho para el comstackdor de Kotlin, la convención es colocar el en los modules "lógicamente" de la misma manera que lo haría con los files de Java.

Por ejemplo, si ha decidido refactorizar una class Java convirtiéndola en Kotlin, el file Kotlin resultante debería tomar el lugar del file Java original.

  • Cambio del nombre de JVM del receptor de la function de extensión de Kotlin
  • Escritura simple para loop en 1 línea en Kotlin
  • No se muestran las aplicaciones resueltas por Intenciones con "EXTRA_INITIAL_INTENTS" adicionales
  • Android - Kotlin: el object debe declararse abstracto o implementar miembro abstracto
  • Kotlin JPA: cómo lidiar con la initialization de @OneToOne
  • Kotlin cuando con valores múltiples no funciona cuando el valor es una vista de Android
  • Kotlin JSR-223 ScriptEngineFactory dentro del contenedor de grasa - No se puede encontrar el comstackdor de kotlin
  • Analizando json en Java Pojos con Gson de Kotlin falta información genérica
  • ¿Cómo orderar la list de objects en caso de order insensible?
  • Hello World en KotlinJS falla con Kotlin no está definido
  • Creación de un grupo de vistas pannable y con zoom personalizado que amplíe el límite de restricciones