Factory function, companion function or extension ...
# codingconventions
m
Factory function, companion function or extension function? 🤔 1️⃣
Copy code
fun CurrencyCode(value: String): CurrencyCode         // throws if invalid
fun CurrencyCodeOrNull(value: String): CurrencyCode?  // null if invalid
2️⃣
Copy code
fun CurrencyCode.Companion.parse(value: String): CurrencyCode         // throws if invalid
fun CurrencyCode.Companion.parseOrNull(value: String): CurrencyCode?  // null if invalid
3️⃣
Copy code
fun String.toCurrencyCode(): CurrencyCode         // throws if invalid
fun String.toCurrencyCodeOrNull(): CurrencyCode?  // null if invalid
2️⃣ 7
3️⃣ 8
1️⃣ 1
e
stdlib quite consistently uses 3️⃣ for such a case.
👍 1
👆🏻 1