Here's how different people add two lines of code:
- Computer Science Student:
- add the code
- Open Source Developer:
- checkout the file with CVS (Only use CVS!)
- add the code
- compile the code
- checkin the file
- e-mail the list telling others about the fix
- Typical Software Engineer:
- file a bug report on the company intranet
- checkout the file with CVS or whatever
- add the code
- run lint, Purify, or whatever
- compile the code
- perform some sanity checks on a lab machine
- checkin the file
- e-mail the team mail alias about the fix
- close the bug report
- Me:
- file a bug report on the company intranet
- e-mail the program managers to put this item
on their radar
- e-mail the manager in charge of the source tree
to put this item on their radar
- create a full copy of the OS source tree
- checkout the file in my copy of the source tree
- add the code
- compile the code
- run lint, Purify, or whatever
- perform some sanity checks on a lab machine
- checkin the file
- perform a full build of the entire OS for the four
separate architectures that it supports
- download 3 formal test suites from the company
intranet
- run all test suites on all supported architectures
in both 32 bit and 64 bit mode (when applicable)
in both single processor and multi-processor
mode
- conduct a formal code review of my changes
- attach a summary of the changes to the bug report
- fill in a form on the company intranet
describing my fix, how I tested it, why it's
necessary, and how and when I'll deliver it to
the OS source tree
- conduct a formal review of said form for
correctness, completeness, and importance of this
change to the company's business
- conduct a formal review of my test results
- schedule a time with the manager of the source
tree to put my change into the OS
- put my change into the OS
- update the bug report to reflect that the code is
delivered and awaiting verification
- e-mail the Quality Assurance department to
put the verification of my fix on their
radair
- Once a production quality CD including my fix
has been verified, I must then confirm that my fix
is properly included on the CD (another form on
the company intranet)
- After verification, close the bug report
I saw that a small buffer was allocated but then not freed, so I had to go through all of those procedures to
add this code:
if (buf)
free(buf);
True story. I do this all the time. Sigh. Sometimes I miss college.