Kotlin Code Smell 28 - Abstract Names

Kotlin Code Smell 28 - Abstract Names

Unleashing the Magic of Meaningful Naming

Problem

  • Implemental Naming
  • Meaningless names
  • Broken MAPPER and Bijection to real-world entities.

Solution

  1. Choose meaningful names.
  2. Find metaphors.
  3. Avoid words like abstract, base, generic, helper, data, info, etc.
  4. Use rules for naming.

Sample Code

Wrong

class Repository {
    // ...
}

class MeetingCollection {
    // ...
}

class AccountsComposite {
    // ...
}

class NoteArray {
    // ...
}

class LogCollector {
    // ...
}

abstract class SearcherBase {
    // ...
}

abstract class AbstractTransportation {
    // ...
}

Right

class Schedule {
    // ...
}

class Portfolio {
    // ...
}

class NoteBook {
    // ...
}

class Journal {
    // ...
}

class Vehicle {
    // ...
}

Conclusion

Finding names is the last thing we should do in our designs. Unless we have a clear business understanding, good names emerge at the end after defining behavior and protocol boundaries.

Credits