Git Product home page Git Product logo

peer-review-guidance's Introduction

Peer Code Review

Getting Started

You'll be placed in groups, send your group a link to your github repo. To start reviewing someone's code

  • Fork their repository
  • Clone it to your local machine
  • install all necessary dependencies (for example, if using node, run npm i)
  • Open up a sharable document to put notes in (Like a google doc or HackMD)
  • Get their project running on your local machine.

Why Code Review?

  • Identify bugs, syntax and logical errors with fresh ๐Ÿ‘€
  • Saves time! โฐ
  • Helps verify that all requirements are fully implemented โœ”๏ธ
  • Flex your collaborative muscles ๐Ÿ’ช๐Ÿฝ
  • Assure quality (i.e. Does the code adhere to the style guide? Is code repetitive? Can you create a more elegant solution?) ๐Ÿง

Things to Consider when doing Peer review

Read This article on the inter-personal aspect of doing code review.

  • Label items that are more nit-picking: the convention is to prevace it with nit: (things that would not prevent code from going into production like "naming could be cleaner")
  • Be gentle; this person spent time writing this code
  • Recognise when something is personal taste versus structurally relevant
  • Pick out a couple of places where the developer did well.

Questions to ask

The main focus is to look for potential bugs and edge cases. After that, look at proper naming, clear organization, appropriate code complexity (complex only when it needs to be), etc. This is by no means an exhaustive list of questions to ask, but it should get you started

  • Is it easy to understand?
  • Is the style consistent? (Is there consistency between usage of single-quotes vs. double quotes? Are all the functional components declared the same way?)
  • Are there any repetitive lines of code?
  • How often did they commit?
  • Did their commit messages appropriately indicate what they worked on?
  • Are there any TODO items? Have they been labeled?
  • Is the organization of the code clear and intuitive?
  • Are the variable names clear and descriptive?
  • Are there any places where the developer is trying to be clever? (Is there abstraction that isn't being used or "optimizations" that add unnecessary complexity?)
  • Are the comments clear and useful? (Comments should should say why you are doing something because what you are doing should be apparent in the code)

peer-review-guidance's People

Contributors

009kings avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.