Generally, the contents of a class is sorted in the following order:
- Property declarations and initializer blocks
- Secondary constructors
- Method declarations
- Companion object
Do not sort the method declarations alphabetically or by visibility, and do not separate regular methods from extension methods. Instead, put related stuff together, so that someone reading the class from top to bottom would be able to follow the logic of what's happening. Choose an order (either higher-level stuff first, or vice versa) and stick to it.
Put nested classes next to the code that uses those classes. If the classes are intended to be used externally and aren't referenced inside the class, put them in the end, after the companion object.
參考資料:
https://kotlinlang.org/docs/reference/coding-conventions.html