Is there a reason why I should not be marking everything as public in our intranet reporting app?
No one outside out co will ever have access to this code – we have about 20 projects – mostly small and specific.
Is there really a reason why we should be marking things anything other than public?
I have my own thoughts on this which I’m trying to omit as I want this to be unbiased.
(I have sexed up the title slightly)
Look up Encapsulation and/or “Information Hiding”:
If you mark the members of every class as public, you’re making for a maintenance nightmare where future developers (including yourself) will be unsure on which parts of the class are meant to be permanent (the contract) and which are purely implementation details.