Category: Architecture
-
Layered Architecture in Java: A Practical Guide to Keeping Your Code Clean

The post emphasizes the importance of structured programming to avoid spaghetti code, advocating for a layered architecture. It delineates three layers: Presentation, Business, and Data layers, each with distinct responsibilities. Defining a clear structure early in project development facilitates effective teamwork and ensures scalable, maintainable applications by keeping concerns separate.
-
Architecture, DevOps and Security: The 3 Pillars to Grow A Product

A company’s success hinges on its product, which requires strong architecture, DevOps, and security from the start. Neglecting these areas leads to chaos and difficult scaling. Automating processes and maintaining security standards are essential for efficient growth. Investing in these pillars prevents costly issues, ensuring a healthier product lifecycle and company sustainability.
-
How to Organize the Packages of your Project?

Struggling with the eternal Java dilemma of how to organize your project? You’re not alone. From feature-focused structures to classic layer-based setups, choosing the right package organization can make or break your sanity (and your code). In this article, we explore how to structure your Java project effectively, whether you’re working on a sleek online…
-
5 Tips to Maintain a Code Clean

In this article, I list 5 of the main points to keep a code clean. Organize the imports, use short methods, don’t use utility methods or classes, use a naming convention and use a code quality checker tool.
-
Code Review Tips

In the following post, I’ve written an extended list of all the items I check when I read a Merge Request.
-
Where To Write Documentation

I can use Word file, a private Wiki or write the documentation into comments inside the code base. Which one is the best? What are the advantages and disadvantages of each documentation? In this post, I explain 3 types of documentation, with their advantages and disadvantages.
-
When It’s Time To Refactor

Refactoring the code means review the existing code, extract duplicated code and remove unused features. This operation is never accepted by product owners, as it doesn’t produce any new feature. But refactoring the code base allows the developers to add more features faster. In the following post, I’m listing 3 metrics that must trigger a…
-
3 Ways To Store Passwords Securely

In the following article, I describe 3 ways to store passwords securely. I describe how to store passwords managed by users, by API and by systems.
-
Feature Flags: Deploy Unstable Features

In this article I describe the features flags. I explain when I use them and how I use them in different situations. I explain the needed maintenance and the final clean up.
-
How Not To Create An Application

In this article I explain how not to create an application. I describe a real use case where I worked some years ago. Where we build a big application with a lot of complexity. But no clients and no profits.
