The Missing Piece: Why So Many Projects Lack Unit Testing
Over nearly two decades of my software development journey, collaborating with over a hundred programmers across various projects, I’ve often stumbled upon a glaring omission – the lack of unit tests. Despite advancements in software practices, the absence of automated testing – be it unit, integration, or smoke testing,...
Cohesion
Understanding Cohesion Imagine you have a toolbox. In a highly cohesive toolbox, all tools are related to a specific type of task, e.g., a set of screwdrivers of various sizes. In a low cohesive toolbox, you might have a screwdriver, a garden spade, some cooking spices, and a light...
Architecture or Clean Code ?
When we talk about software development, the concepts of clean code and good architecture often emerge. Clean code principles, popularized by Robert C. Martin in his book “Clean Code,” emphasize writing code that is readable, maintainable, and modular. At a glance, it would seem that adhering to these principles...
Naming conventions
I assume you’re already familiar with PSR-1 & PSR-2, which provide PHP recommendations for naming conventions, such as using camelCase for function names. However, there are a few aspects that aren’t clearly defined there, which can significantly impact your code quality. Variables and Attributes Naming Style Firstly, it’s crucial...
Refactoring Example – guard clauses
I believe the most effective way to learn is through hands-on experience with real-world cases. Below, I will discuss a case study from one of our actual projects, focusing on how we managed the refactoring of a specific section of legacy code. Please note that this article won’t delve...
Clean Code – how to start
There are multiple rules out there which helps to achieve the clean code in your codebase. All of them are worth to familiarize with. But if I had to choose the most important one – I would say it will be SOLID principles. If you will write SOLID code, then probably...