Ryan M. Kay is a self-taught mobile Java, Kotlin, and Android developer with a passion for applied software architecture, test driven development, and writing code that reads like a good book. Since 2016, Ryan has spent a great deal of time teaching programming topics, from beginner to advanced, via various mediums including videos, articles, open source repositories, and weekly live Q&A sessions.
Arguably the worst way to teach the fundamentals of programming, is to describe what something is, without mention of how or when to use it. In this article, Ryan M. Kay discusses three core concepts in OOP in the least ambiguous terms so that you may never again wonder when to use inheritance, interfaces, or abstract classes. Code examples provided are in Java with some references to Android, but only basic knowledge of Java is required to follow along.
Read more…
As with many other topics in software development, testing and test driven development are often made needlessly complex in theory and implementation by placing too much emphasis on learning a wide array of testing frameworks. In this article, Ryan Kay will revisit what testing means by a simple analogy, explore concepts in software architecture which will directly result in a reduced need for testing frameworks, and some arguments as to why you might benefit from an attitude of minimalism for your testing process.
Read more…