## DEV Community

Yonatan Karp-Rudin

Posted on • Originally published at yonatankarp.com on

# Kotlin Code Smell 5 - Too Clever For Your own Good

TL;DR: Don't pretend you are too smart. Clean code requires readability and simplicity.

## Problems

• Maintainability

• Code quality

• Premature optimization

## 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) {
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) {
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!