-
Effective Class Design and Dependency Management
In software development, the structure and design of your classes and how dependencies are managed can greatly impact an application’s maintainability, flexibility, and adaptability. Here, I’ll outline key principles I follow to create a well-structured application, from class design and immutability to using factories for better dependency control. Design Classes with Clear Responsibilities and Immutable…
-
Setting Up a Project From Scratch
When you start working on any project—whether it’s in Python, Java, C, or another language—having a solid foundation can greatly improve the project’s quality and sustainability. Here’s a breakdown of essential steps and best practices to consider as you set up and manage your project. Start with Unit Testing The first consideration when starting a…
-
Understanding the stack
Introduction The stack is the first data structure that you encounter, often without even realizing it. You can envision it as a chain of data placed successively, representing previously called functions and their local variables within the program. In this article, I would like to give you a semi-deep analysis of its internal structure and…