Yonatan Karp-Rudin
Yonatan Karp-Rudin

Follow

Yonatan Karp-Rudin

Follow
Kotlin Code Smell 005 - Too Clever For Your own Good

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.

Yonatan Karp-Rudin's photo
Yonatan Karp-Rudin
·Dec 5, 2022·

1 min read

Play this article

Table of contents

  • Problems
  • Solutions
  • Examples
  • Exceptions
  • Sample Code
  • Conclusion
  • Credits

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

Problems

  • Readability

  • Maintainability

  • Code-quality

  • Premature optimization

Solutions

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!

Credits

 
Share this