Kotlin Code Smell 5 - Too Clever For Your Own Good
Clarity Over Cleverness: The Importance of Writing Understandable Code

I've started to work as a software engineer at 2014, however, I started to write code at high-school.
My first language was Assembly, but still, I fall in love with the possibilities to make the computer to do as you wish, shortly after that I started to write in C.
Later on I studied a practical engineering in electricity, and during this time discovered that I preferred much more writing code than design electrical components.
As a result of this understanding I decided to switch and study bachelor degree in computer science in Reichman university, where the focus was of the Java language.
Today I'm working at SumUp using Kotlin, SpringBoot & Micronaut, Cassandra and Kafka
TL;DR: Don't pretend you are too smart. Clean code requires readability and simplicity.
Problems
Readability
Maintainability
Code quality
Premature optimization
Solutions
Refactor the code
Use better names
Examples
- Optimized loops
Exceptions
Optimized code for low-level operations.
1-liner code functions
Sample Code
Wrong
fun primeFactors(n: Int): ArrayList<Int> {
val f = ArrayList<Int>()
var d = 2
var nn = n
while (nn >= 2) {
if (nn % d == 0) {
f.add(d)
nn /= d
} else {
d++
}
}
return f
}
Right
fun primeFactors(numberToFactor: Int): ArrayList<Int> {
val factors = ArrayList<Int>()
var divisor = 2
var remainder = numberToFactor
while (remainder >= 2) {
if (remainder % divisor == 0) {
factors.add(divisor)
remainder /= divisor
} else {
divisor++
}
}
return factors
}
Conclusion
Developers who are too clever for their own good write cryptic code to brag. Smart developers write clean code. Clear beats clever!




