At VisionPm, we prioritize thoughtful use of the `public` keyword, recognizing it forms…
At VisionPm, we prioritize thoughtful use of the public keyword, recognizing it forms an immediate and often irreversible contract.
- Public variables: These carry a medium severity risk, potentially undermining encapsulation principles.
- Public methods: Viewed with high severity, they can disrupt the Single Responsibility Principle (SRP) and Interface Segregation Principle (ISP) from the SOLID principles.
- Public exported classes/packages: Assigned a critical severity level, they pose a risk to the integrity of monolithic modularity.
- Public published events to enterprise brokers: This is considered a fatal severity issue, as it may lead to the creation of a distributed monolithic mess.
Remember, the speed at which you can refactor is inversely proportional to the number of public contracts you manage!