Let you know about software development in advance (47): Peer Review

Source: Internet
Author: User

Part 1 software R & D work summary

Peer review

 

In 《Inspur SummitIn this book, Mr. Wu describes how Google worked in the early days. One of them was written as follows:After dinner, I usually send the code modification list to Craig for code review. Generally, he will reply to me at around 10 o'clock and give me some suggestions, A space is added to a line.

What Mr. Wu described is actually in software developmentPeer review process.

Almost all software projects require peer reviews. No matter how powerful a person is, he or she is always limited in terms of reading problems. The written programs and documents will not be perfect. If a knowledgeable colleague can give a reference and give their correct opinions, it will inevitably reduce defects in software products and achieve the effect that is hard for the individual to achieve. Therefore, the peer review process is very important and indispensable for a wide range of software engineers.

1. What is peer review?

Peer review(Peer review) Is a structured formal review of the organized and planned inspection of work products by the same behavior of the producer (author) to identify exceptions and the parts to be modified.

Peer review does not trust the work of individuals, but aims to eliminate exceptions in software work products as soon as possible.

 

2. Why should I perform peer review?

At school, the teacher taught us to complete homework independently. Therefore, if you perform "Peer Review" on others' homework or during the examination at that time, it is illegal. However, software development is a team-based task that requires collaboration. Therefore, it is not feasible to make public the results of your work.

Why should we conduct peer review?

First, when a person makes an error, make sure that there are as few errors as possible in what you make, and others need to review it.

Second, for software products, The sooner a defect is discovered, the less cost it will incur to correct the defect. Therefore, in the software development stage, if you strictly carry out peer review, the fewer errors that will occur in the subsequent process, which can also save the company the cost of error correction.

Third, errors found during peer review can be passed on as cases to prevent developers from falling into the same trap again. "Never forget the past, never forget the future", and the mistakes made by others have a warning effect on yourself. Especially for new employees, frequent participation in peer reviews can reduce the number of Trial errors and help them get started early in the new job.

 

3. What types of peer reviews are available?

Peer review types include:Review,Go Lookup,Single ReviewAndReviewed by multiple users.

 

4. What are the objects of peer review?

In each stage of product development, the objects that need to participate in peer review include:

(1) concept stage: Product Requirement statement.

(2) planning stage: system plan and project plan.

(3) development stage: detailed design, unit test procedure (scheme), integration test procedure (scheme), Code, database script, etc. Generally, prior to coding, a detailed design review is required to ensure the correctness of the program and reduce the adverse effects of subsequent modifications.

(4) verification phase: System Test Plan, system test procedure (Plan), etc.

 

5. What is review? What are the roles under review? What are the review steps? What are the principles of effective review?

Review is a type of peer review and plays an important role in software projects.

(1)Review Definition:Review(Inspection) is a formal peer review, suitable for software work products with high importance and repeatability.

(2)Audit (Review) Role: Includes the host, interpreter, recorder, author, and examiner. Generally, there are 3 to 7 persons participating in the review. The roles are divided as follows:

1)Host: Leader skills are required to manage the review process, which is a key role in the review process.

2)Author: Provides review materials and a summary; in addition, the author can act as a reviewer.

3)Recorder: According to the host's instructions, record product and program exceptions, record exceptions at the same time, and read the recorded defects aloud.

4)Interpreter: Fully understand the review materials and explain them at the same time. The role cannot be assumed by the author.

5)Examiner: All persons involved in the review can be reviewers. They are mainly responsible for understanding the materials to be reviewed, conducting personal inspections, preparing for the review, and attending the review meeting.

(3) There are 7 review steps, as shown in:

(4) Principles of Effective review include:

1) A checklist should be used during the preliminary review to avoid the occurrence of defects that do not know where the records are recorded.

2) avoid excessive reliance on checklists.

3) review meetings should be restricted inWithin 2 hoursTo avoid long discussions that deviate from the subject of the review meeting.

4) The review targets products rather than producers (authors). Therefore, you must avoid personal attacks against the authors themselves.

5) The reviewer should be provided with sufficient pre-review time, generally two days in advance.

6) If a participant is not prepared, the meeting will be postponed. If the Participant does not have time, the review will be canceled.

 

6. What is code review? What is its purpose?

For software development engineers, code review is an indispensable part and an effective way to improve code quality.

(1)Definition of code review: Code review is a formal peer review activity initiated against the program, it consists of a set of clearly-defined host, author, recorder, examiner and other personnel through a series of clearly defined processes to perform static checks on the code to detect exceptions in the code.

(2)Purpose of code review: Early detection of code defects and removal of defects to reduce development costs and improve product quality.

 

As mentioned above, the peer review process is important, but to thoroughly implement it, you need to do the following:

First, the author should be open-minded, willing to share his work achievements, and be brave enough to admit his own shortcomings for improvement. People are not willing to be pointed out by others. The purpose of peer review is to discover problems. Therefore, this is a test of the author's mentality to a certain extent, we need to understand that the product is defective and the problems in the product should be improved.

Second, the reviewers should know that peer reviews are intended to discover product defects rather than human problems. Do not change peer review activities to personal attacks against the author, which hurts the cohesion of the entire team. One purpose of peer review is to learn together, learn from each other, and improve together.

Third, it is very important for the company to summarize the results of peer reviews and save them as documents for later reference. The problems of many software products are similar. Before developing products, if you can understand the problems of similar products in the early stage, you can avoid a lot of detours and save time, improves work efficiency.

 

To ensure the quality of the product, all work results (including procedures, documents, graphics, etc.) of the product should be reviewed by the same team. "Three people, we must have our teacher." Both old employees and new employees can benefit from peer review.

 

 

(My microblogging: http://weibo.com/zhouzxi? Topnav = 1 & WVR = 5, No.: 245924426, welcome !)
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.