G-Code Documentation goes beyond just pseudo code descriptions of what action(s) each line of code is performing, by incorporating additional information critical to the overall manufacturing process, beyond the code/machine
Most essential code documentation can be captured and positioned at the start of any program, before any physical motion/actions have occurred
Information to document within machine code can/should include:
Information about the part being made using the program (part name, number, quantity, material, etc.)
Information about the engineer, programmer, and operator who are key to the manufacturing of the part(s) being made with the program
Information about how which machine(s) the program is designed to be ran on, as well as how to properly set-up the machine software/hardware for proper program performance
...Plus, any other relevant information
Version Control, also known as Revision Control, ensures that you are making the correct iteration of a product.
This is critical, because manufacturing products and processes evolve over time, and if old versions of programs/fixtures/etc. are used after product/process specifications have been changed, then defective products will be made
Version Control applies to every aspect of manufacturing, including: blueprints, G-Code programs, fixturing devices, manual operations/tasks, machines, etc.
It is critical to ensure that the versions used in manufacturing across all these steps and devices are in alignment with one another