Kotlinic
1 min readNov 13, 2017
Many will be wondering what Kotlinic is. Simply put Kotlinic means doing things in a idiomatic Kotlin way with code but also means thinking like a Kotliner (Kotlin developer). Imagine how a Kotliner would approach software development problems. This article will cover the Kotliner thinking side.
Here is the general approach a Kotliner would take when designing/developing software:
- Prefer to go the explicit route whenever possible over the implicit route
- Minimise the use of abstractions
- Develop/design software with the target user(s) in mind
- When using platform integration in software learn/understand all the key technologies needed for interoperability
- Develop DSL’s in situations where complex structures need to be built in a declarative way (avoid using the **Builder** pattern)
- Use Kotlin libraries/frameworks when a high level of Kotlin integration is needed and tasks need to be done the Kotlin way
- Head down the mutli-platform path (use Kotlin’s multi-platform system) when targeting multiple platforms for software, and need to easily provide a good yet consistent UX (user experience)
- Avoid using meta programming/reflection (promotes implicitness to the extreme) as much as possible since it makes software fragile/unpredictable
- Prefer a loosely coupled design/implementation over a tightly coupled one
- Go for straightforward ways to do things over elaborate/clever ones which will cause issues over the long term