Don’t Talk Just KISS

I love efficient code. There is an odd type of satisfaction to writing well-performing code. Faster! Shorter! Less memory-consuming! More power! MORE! Well, it’s easy to see how quickly this gets out of hand. Before you know it, your code is a hot mess of high-performing, totally unmaintainable blocks. What started as a beauty endsContinue reading “Don’t Talk Just KISS”

Goodbye Yellow Brick Road

I consider myself a creative person. It’s hard to be a developer without a passion for creation. I love inventing new things and exploring new ideas. Being open-minded is important to me. There are things in life, though, that are better kept unchanged. Reinventing the wheel doesn’t always work. In fact, a new wheel isContinue reading “Goodbye Yellow Brick Road”

A Debt That Can Never Be Repaid

I’ve been writing code for over twenty years. In twenty years, I’ve learned there’s never enough time to write all the code I want to write. Developers have been struggling with the constraints of time since the first lines of code were punched into cards. There is never enough time to add all the codeContinue reading “A Debt That Can Never Be Repaid”

Keep Your Comments To Yourself

I’ve been writing code for well over 30 years now. In 30 years of coding, I learned my code has to make sense to me long after I’ve written it. Later on, I started working on code shared with others. My code had to make sense to them, too. When code got really complicated, IContinue reading “Keep Your Comments To Yourself”

So Predictable

Good code should have test coverage. However, writing tests is not a box-ticking exercise. If tests are not written well, they are not helpful. One characteristic of a good test is that its results are consistently reproducible. This helps us see what the problem is every time we run the test. There is a commonContinue reading “So Predictable”

Beauty And The Beast

I was recently interviewed for a new contract. One of the questions I was asked was this: which would I say was more important: beautiful code or a good, polished UX. I found it to be a very important question. Paraphrasing, this was my answer: Beauty is in the eye of the beholder. We shouldContinue reading “Beauty And The Beast”

What Else?

As software developers, one tool at our disposal, in almost any language, is a switch expression. It comes in many forms: switch, case, when… They are all fundamentally the same. Given a value of an enumerated type, it defines the code behavior for each such possible value. In Clean Code, Uncle Bob suggests we makeContinue reading “What Else?”

Clean Android

As an Android developer, I spend a lot of my time worrying about app architecture. Android has a long history of attempts at a convention. We’ve had Activity god classes. We then had fragment god classes. Along came MVP (Model-View-Presenter) with its presenters, which really improved things, but often led to god presenter classes. MoreContinue reading “Clean Android”

Not Good Enough

I’m a perfectionist. I know a lot of people testify this about themselves. But I truly am. Nowadays, there seems to be a trend of “good enough”. It stems from a sensible idea that the final 20% of the work will add marginal value (not to be confused with the 80/20 rule). I get that.Continue reading “Not Good Enough”

Do One Thing Well

I’m an Android user. I’m also a Windows user. I tried the iPhone, and I’ve used a MacBook for a few years. The latter two didn’t grow on me. Different operating systems offer different experiences. Which works best for you is an individual preference. Once you get used to one, though, it’s hard to switch.Continue reading “Do One Thing Well”