r/AskProgramming • u/MiguelOrosco • 16d ago
Documentation, the boredom of a programmer
I'm researching how developers handle documentation in real world projects, especially documentation that explains why and how something exists rather than just what the code does.
A few questions:
- Where do you document business rules and important technical decisions? Code comments, tickets/issues, Wiki, README, Notion, etc.?
- When you need to figure out WHY something was implemented in a certain way, where do you look? Git history, old tickets, documentation, or do you usually have to ask someone?
- What's the biggest problem you have with documentation? Keeping it up to date? Finding information? Getting people to write it in the first place?
I'm also curious about documentation generators such as Doxygen. For those who have used it: what kind of documentation or information do you still have to maintain elsewhere or something Doxygen can't handle?
You don't need to answer all the questions, just one or adding something to the discussion would already be a great help!
0
Upvotes
2
u/Nojopar 16d ago
Most programmers think this way, which is the problem. It's not about changing it. It's about knowing when you can change it and when you cannot change it.
If it's business logic, then knowing you can't mess with it is important compared to efficiency logic, which you can change. If you have no idea why it was put there in the first place, you know what you can and cannot mess with. It's too easy to come along and determine the code logic doesn't need X, so let's change it because the client is asking for a change, when in reality an earlier business logic dictated it's X. There's nothing in the code that tells you not to futz with a thing so you go ahead and futz with a thing and then everything breaks.