Summary
We covered a few Kotlin language features that can assist engineers in achieving better architectures, including extension functions, infix functions, operator overriding, and scoping functions.
Then, we covered the necessary steps to transition a Java project into a Kotlin project. We walked through the tools and manual correction required to convert a Java class into an idiomatic Kotlin class. We also mentioned a few opportunities to improve code quality during the conversion. We delved into the topic of transition strategies in terms of the sequence of conversion and framework transition. We emphasized the importance of continuous transition to Kotlin, and how the transition could incrementally progress in the everyday business feature coding works.
We moved to the topic of CI and CD and presented the two main integration approaches: feature-based and trunk-based development. We compared them in terms of their pros, cons, and suitability in the context of organizational...