¡Conociendo a Kotlin!
var flag = false; if(condition) { //do one thing flag = true; } if(condition2) { //do another thing flag = true; } if(flag) save(); ¿Cuál es la forma correcta de hacer esto en Kotlin evitando el enfoque de flag ?
No veo ninguna forma inteligente de hacerlo de manera concisa en Kotlin, pero en la mayoría de los casos, probablemente preferiría asignar condiciones a las variables en lugar del enfoque de flag :
val isBlue = ... some condition ... val hasWings = ... another condition ... if (isBlue) { ... } if (hasWings) { ... } if (isBlue || hasWings) { ... }Por supuesto, es una cuestión de gusto personal.
Además, en algunos casos flag tiene más sentido. Hay save() en su ejemplo, por lo que si este indicador es algo así como shouldSaveData y depende de varias condiciones en las que, por ejemplo, los datos están mutados, entonces el enfoque del flag tiene mucho sentido.