Kotlin Code Smell 5 - Too Clever For Your own Good
Yonatan Karp-Rudin
Posted on December 5, 2022
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!
Stay updated with my latest thoughts and ideas by registering for my newsletter. Connect with me on LinkedIn or Twitter. Let's stay connected and keep the conversation going!
Credits
💖 💪 🙅 🚩
Yonatan Karp-Rudin
Posted on December 5, 2022
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.