Naming is subjective and situational, it’s an art, and with most art, we discover patterns. I’ve learned a lot through the reading of other’s code. In this article, I’ve compiled 9 guidelines I wished others had followed when I read their code. When a software engineer opens a class, she should know, based on the…
With or Without Curly Braces?
There’s a heated debate around single statements and whether they should have curly braces or not. In C++, C#, Java, and Javascript a single line statement without curly braces is valid, some take advantage of this feature, while others don’t. For Example Arguments Against Single Line Curly-Braces The argument against curly-braces are it’s terser syntax,…
Understanding Begins with Expressive Names
In 2018, I joined a large project halfway through its development. The original engineers had moved on leaving behind convoluted and undocumented code. Working with this type of code is challenging because you can’t differentiate the plumbing from the business domain. This makes debugging difficult and changes unpredictable because you don’t know the impact. It’s…
Codifying the Secret Sauce
Each application has its secret sauce, it’s reason for existing. Codifying the secret sauce is instrumental in writing maintainable and successful applications. Wait. What is codifying? Patience my friend, we’ll get there. First let’s hypothesize: You’ve just been promoted to Lead Software Engineer (Congratulations!). Your CEO’s first task is creating a new product for the…