Gyuhyeon
11/26/2019, 9:53 AM// autoconverted from java
@Transactional
fun leaveMembership(membershipNo: Long): Boolean {
val membership = repository.selectOne(membershipNo) ?: return false
membershipDeletedService.insertExpireHistory(membership)
repository.delete(membershipNo)
return true
}
// futile attempt to use as much kotlin stuff
@Transactional
fun leaveMembership(membershipNo: Long): Boolean = repository.selectOne(membershipNo)?.let {
membershipDeletedService.insertExpireHistory(it)
repository.delete(membershipNo)
true
} ?: false
Which is more "kotlin-esque"? Or rather, which code do you think is better? If both are bad, how can it be refactored?diesieben07
11/26/2019, 9:54 AMMike
11/26/2019, 12:54 PMif
is an expression.
There's only one return
statement, so no 'searching' for returns. Always too many options to choose from 😉
val membership = rep.selectOne
return if(membership == null) {
false
} else {
// membership processing here
true
}