The current answers are both good and come from different perspectives, here is one more.
Do I need the "the" in my first sentence? Not really.
current answers are both good and come from different perspectives, here is one more.
...is just as intelligible, although it sounds unfinished, like someone might have been rushed, or didn't consider the statement fully.
So does this "the" lacking sentence need rework?
Some will say yes, because it has left a detail underspecified and has wriggle room for misinterpretation, or apparent lack of consideration.
Others will say no, because in the current context it works, the intention is obvious, and the tooling supplies the correct interpretation.
My answer is: Who is going to read this?
- Yourself
- Yourself in 5 weeks?
- Yourself in 5 years?
- Your team
- Your team in 5 weeks?
- Your team in 5 years?
- Your team when you have left?
- The compiler with the current specification, on your current platform
- The compiler with a newer specification, on your current platform
- The compiler with the current specification, on another platform
- The compiler with a newer specification, on another platform
- An interpreter...
- A Static analysis tool/s...
- Search/Regex tools
- Your IDE
- ...
I could go on, just try to list everything/everyone that reads the source code files, or anything derived from them and ask how it impacts them now, in 5 weeks, a year, 5 years, when you are no longer there.
It is eye opening and sometimes jaw dropping just how large your actual audience is/will be.
Now have you communicated with each of these individuals, and programs successfully?
There will be times when being explicit, and pedantic is important in order to communicate an important point clearly.
There will be times when being terse, and implied is important in order to communicate an important point clearly.
To help me decide when I should be explicit or implicit I lean on Shannon's Information Theory: The most meaningful information should take the most space, the least meaningful should take the least.
- If a function must be public, that is an important detail, be explicit.
- If a function must be private, that is an important detail, be explicit.
- If a function could be private or public, that is an irrelevant detail, be implicit (if you can, or be as under-specific as possible in the language).
Just to note, the rule of thumb about meaningful information taking the most space, that is within limits, its a statement about signal to noise:
- Noise being irrelevant details, and
- Signal being the important details.
Generally, if a shorter phrase does the same job in terms of communication as a longer phrase, that shorter phrase should be preferred because longer phrases usually dilute the signal.
access modifiers seem redundant in such cases
That is the same as saying "It doesn't need an access modifier since I don't need it to be public", at which point the suggested duplicate answers your question.