4 ms·
Speaking of the version control. You are right: VC is indispensable tool when looking at an old (hm "mature") code base, assuming the said code base has not be
by java-man 6y ago
Speaking of the version control. You are right: VC is indispensable tool when looking at an old (hm "mature") code base, assuming the said code base has not been converted from CVS or SVN, with commit comments like "merged from branch XX".
I still think the value and importance of recording every last feature/functionality is underestimated in the industry. Granted, the tools to support this idea are largely missing - the requirement tracking must be integrated into VC and the workflow, it should have powerful search and pattern matching (this change was due to REQ#, also relevant REQ#, REQ#, REQ#...)
Imagine you have a controlled and non-intrusive way to document all the features. What value does it add?
1. Testing. A feature set automatically generates the skeleton of a test plan. Test cases that are missing from the feature list get added to said feature list.
2. Onboarding. The feature list is a great place to study for a new team member.
3. Development. Given the pattern matching, the feature list might suggest related areas where a change might have unexpected impact - in addition to the usual code inspection tools, of course. The code answers the question of how, the requirements answer the question of why.
4. Maintnance. The requirements change. Assumptions and design decisions change with time. If you don't have a record of those, you have no idea why this code does what it does.
P.S. and I fully agree with what you said for other points.
- Roboprog 6y agoSaving the revision history from the previous source control system would require reading the manual or Google for 20 minutes. I got deadlines! Of course, if the previous system is a proprietary monstrosity, it may well be next to impossible to recover the history short of writing a script to check out every step along the way and duplicate it in the new system. Ugh. Anybody who went down the path from RCS - CVS - SVN - Git without saving the check in / commit history is being a bit of a jerk, though.