Modularisation.. You cannot escape it as an Android Developer. As your code base gets larger well modularised code becomes crucial.
It can encourage code ownership, increased build speed, better organisation and increased productivity.
This post will help you to use the tooling available to you to modularise your codebase.
Twitter has been ever present in my life since I found out what a smart phone was. Alongside an AR night sky app, it was one of the first apps I downloaded. Getting excited about apps like this led me to become an app developer. My current Twitter account is new (follow me, I need … Continue reading Waxing lyrical about Twitter
Using a Dagger to dependency inject our modular application.
Introducing indirection into your modular structure can improve the incremental build times of your android application.
I recently joined Twitter as an Android Developer. So far, it is unlike anywhere I have ever worked before. In two months I have learned a lot and have been incredibly overwhelmed. I’ve recently felt like I have started to get on top of the learning curve and I can start to reflect a bit … Continue reading Learning a lot at Twitter
Kotlin lets us write top level functions, this enables us to write code that isn’t necessarily constrained to the concept of classes. It frees us from “util” classes of static methods (but it doesn’t free us from dumping methods or functions in one place). Under the hood, Kotlin is constrained to classes, the compiler must … Continue reading Merging multiple files into one with Kotlin
I work on what could be called a “legacy code base”. We’ve just crossed the 10 year anniversary of the first commit. Between then and now over 40 developers have contributed. Many features have come and gone, and the platform we develop for has changed beyond recognition and so have our ways of writing code. … Continue reading Experimenting in a legacy code base
The longer I’ve written software the more I debate with myself about whether I should be adding an abstraction or not adding an abstraction. Let us define an abstraction, it could be an interface, a trait, a protocol, or an abstract class. It is a structure that defines how a piece of code should interact … Continue reading To abstract or not to abstract
I associate a number of things with writing test code. The first is finding peace of mind. In years gone by I have written some dodgy code that has gone to production, I still think about some of this code to this day. I still write dodgy code, but I’m able to stop it from … Continue reading Some thoughts on testing
This weekend I’ve spent some time working on a side project written TypeScript, I’ve never used it before so I’ve spent a lot of time referring to documentation and learning a lot. One thing stood out. I had an array of data that I wanted to create a sub-list of elements starting from and index, … Continue reading Slice don’t Splice