Kotlin Code Smell 28 - Abstract Names
Unleashing the Magic of Meaningful Naming

I've started to work as a software engineer at 2014, however, I started to write code at high-school.
My first language was Assembly, but still, I fall in love with the possibilities to make the computer to do as you wish, shortly after that I started to write in C.
Later on I studied a practical engineering in electricity, and during this time discovered that I preferred much more writing code than design electrical components.
As a result of this understanding I decided to switch and study bachelor degree in computer science in Reichman university, where the focus was of the Java language.
Today I'm working at SumUp using Kotlin, SpringBoot & Micronaut, Cassandra and Kafka
Problem
Solution
- Choose meaningful names.
- Find metaphors.
- Avoid words like abstract, base, generic, helper, data, info, etc.
- 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.




