¿Deberían los archivos de Kotlin ser puestos en un directorio de fuentes separado en Android?

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

Así que he leído de la documentación de Kotlin y el desbordamiento de pila que es posible incluir un directorio de fuentes separado para los archivos de Kotlin, así:

App:
-manifiesto
-Java
Kotina
-res

Sé que puedo crear este directorio agregando el siguiente a mi archivo de build.gradle :

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

Mi pregunta es: ¿ Debería Kotlin archivos 'live' con archivos Java en el mismo directorio o no?

Además de las opiniones, quisiera saber si existe una convención particular para esto, y si es así, por qué es la forma en que es.

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

2 Solutions collect form web for “¿Deberían los archivos de Kotlin ser puestos en un directorio de fuentes separado en Android?”

Colocar los archivos de Kotlin en un directorio de fuente separado existe como una posibilidad documentada porque en versiones tempranas (pre-1.0) de Kotlin esta era la única configuración soportada. Posteriormente, el complemento Kotlin Gradle se hizo más flexible, por lo que la separación de directorios ya no es necesario. No estoy al tanto de los beneficios que podrían obtenerse al poner los archivos de Kotlin en un directorio de fuentes separado.

Tener un directorio de origen independiente es especialmente inconveniente cuando se tiene un proyecto de Java que se está convirtiendo gradualmente a Kotlin. Mover cada archivo convertido a un directorio de origen diferente hace que el proceso de conversión sea innecesariamente más engorroso.

Dado que la colocación de archivos no significa mucho para el compilador de Kotlin, la convención es colocar los módulos "lógicamente" de la misma manera que haría con los archivos de Java.

Por ejemplo, si ha decidido refactorizar una clase Java convirtiéndola en Kotlin, el archivo resultante de Kotlin debería ocupar el lugar del archivo original de Java.

  • Kotlin - lateinit VS ¿Alguna? = Nulo
  • Android Studio 3 canary y Kotlin
  • Este tipo tiene un constructor y debe ser inicializado aquí - Kotlin
  • La propiedad lateinit no se ha inicializado
  • Cómo crear un constructor vacío para la clase de datos en Kotlin Android
  • Android Kotlin: Error Referencia sin resolver: DaggerAppComponent
  • Encuadernación en el mapa con el tipo de KClass
  • Kotlin: Iterate a través de un JSONArray
  • Error al ejecutar el proyecto de Android (escrito en Kotlin) compilado con el complemento Gradle2.0.0-alpha
  • Android databinding error de prueba de unidad Error al analizar las opciones del compilador de enlace de datos. Params:
  • Propiedad de Kotlin: "Se debe utilizar el parámetro de tipo de una propiedad en su tipo de receptor"
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.