Best practices

Don’t create over abstractions

In software development, abstraction is a powerful tool that allows developers to encapsulate complex functionality and simplify the codebase. However, as with any tool, it is possible to overuse abstraction and create unnecessary complexity. In this article, we will explore why creating over-abstractions can be harmful and how to avoid this common pitfall. What is…

Best practices

TDD and common misunderstanding

Test-Driven Development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing unit test case that defines a desired improvement or new function, then produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable…