Photo by Olav Ahrens Røtne on Unsplash
Kotlin Code Smell 005 - Too Clever For Your own Good
Code is difficult to read and tricky with names without semantics.
Play this article
TL;DR: Don't pretend you are too smart. Clean code asks for 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!