home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.software-eng
- Path: sparky!uunet!spsgate!mogate!newsgate!chdasic.sps.mot.com!dichter
- From: dichter@chdasic.sps.mot.com (Carl Dichter)
- Subject: Re: Code Reviews (was SE going offshore?)
- Message-ID: <1992Nov22.195802.23993@newsgate.sps.mot.com>
- Sender: usenet@newsgate.sps.mot.com
- Nntp-Posting-Host: 223.197.55.10
- Organization: SPS
- References: <1992Nov13.142754.12335@ornl.gov> <6962@dove.nist.gov> <1992Nov17.172139.15122@bnr.uk>
- Date: Sun, 22 Nov 1992 19:58:02 GMT
- Lines: 51
-
-
- I don't know whether you'd call them group code reviews or not:
- The way that we recommend (described in detail in the January 92 Unix Review
- article "Two Sets of Eyes") is inspection before meeting.
-
- In this method, you send your code to at least two, but no more than five people.
- Ideally, this includes at least one experienced and one in-experienced person.
-
- These reviewers read the code and provide results to a person designated as
- a review recorder. This recorder may be the owner of the code, or one of the
- reviewers. A meeting may not be held if no errors were found, or so many
- that the code needs to be completely reworked.
-
- If a meeting is held, only the issues/problems found are discussed--
- you don't sit together while +20K lines of code are being reviewed.
-
- Modules of code are reviewed as they are available to prevent future
- problems by educating the code author and all participants.
- If you wait until the code is all done to review it, you'll find
- many instances of the same errors-- most preventable.
-
- Biggest reasons to do inspections:
- 1. Improve the process of making code by educating all participants.
- 2. Find opportunities for reuse: "You don't need to write that-- there
- is one in Greg's code" or "That's great! Could you generalize it a little
- and put it in the library?"
- 3. Make code more reusable and maintainable, by pointing out where it can
- be generalized or improved.
- 4. Finding bugs in code, design, requirements, etc.
-
- Bob Bagwell's idea of using skilled, cheap, non-local workers to do inspections
- only helps in 3 & 4. Seperate workers may catch errors, but unless the US
- workers study the review results, they'll continue to crank out rubbish (1) --
- more so-- they know someone is picking up after them! These separate workers
- won't have the knowledge of other code, future code needs, conventions, or the
- end-user requirements and market (2,3,4).
-
- However, if Bob means that the "super-programmers" and the "cheap labor" work together,
- you'll build a good crew and accomplish all of the objectives. You don't have to
- use non-local labor, you can use recent grads or software technicians (cheap
- programmers). After a while, most of your "cheap labor" will have become
- "super-programmers": you can take on more projects (after you find more "cheap
- labor").
-
- ----------------------
- Carl R. Dichter "iwannanugui"
- Motorola ASIC Division
- email: dichter@chdasic.sps.mot.com
- /*
- ** "People who never make mistakes work for people who dare to."
- */
-