SlideShare a Scribd company logo
How to successfully
grow a code review
culture
What will we learn today? - Part 1
Why do we code review?
What are the benefits?
Our Code Review Process
How to Grow a Culture
What will we learn today? - Part 2
How to be a Great Reviewer
How to a be a Great Submitter
Using Code Review to Build a Stronger Team
Why do we
code review?
Find Design Flaws & Bugs
So they can be identified and remedied before the code is complete
Case Studies on Review:
 Decrease bug rate by 80%
 Increase productivity by 15%
The goal is to find bugs
before
your customers or QAs do.
Shared Ownership
We’re all in this together
👀 results in positive motivation
Overall increase in code quality
Shared Knowledge
No developer is the only expert
Developers gain familiarity with different
modules via review
Decrease the “Bus Factor”
Factor?
concentrated specialized knowledge
will one person sabotage the project if they left?
Leave a Paper Trail
Code Reviews add a wealth of knowledge!
Why was a particular decision made?
Improved code quality
Correlation between code review process satisfaction and code
quality satisfaction
Code reviews as a time saver, not a time expense
Code reviews as a time saver, not a time expense
Code Review Benefits?
Shared Ownership
Shared Knowledge
Reduce Bus Factor
Leave a Paper Trail
Find Bugs
Improved code quality
My current organization
has a great review culture.
As a result, I’ve become a
better programmer
Part 2
How to be a
Great Reviewer
Be Objective
“this method is missing a java documentation”
Instead of
“you forgot to write a docstring”
Ask Questions Don’t GiveAnswers
“Would it make more sense if… ?”
“Did you think about… ? ”
Offer Suggestions
“it might be easier to”
“we tend to do it this way”
Avoid these terms
Simply
Easily
Just
Obviously
Well, actually…
…now, simply
Have Clear Feedback
Strongly support your opinions
Share How & Why
Link to supporting blogs, stackoverflow
examples, or documentation.
Not Clear Feedback
Give a compliment for good work && || Great Idea
Don’t be a Perfectionist
For big issues, don’t let perfect get in the way
of perfectly acceptable.
Prioritize what’s important to you.
Usually 90% there is good enough.
Pareto principle.
It’s OK to Nit-Pick
Syntax Issue
Spelling Errors
Poor Variable Names
Missing corner-cases.
It’s OK to Nit-Pick
Save the nit-picks for last, after any
pressing architecture, design, or other large
scale issues have been addressed
Do Reviews in 24-48 hours
Define Done
Let the submitter know if you approve, or if
they need to make changes.
Use consistent language
Follow up when the submitter says they fixed something.
What should you look
for?
Functionality
I. Does the code actually do what it was supposed to do?
II. Do the tests really test the code meets the agreed requirements?
Maintainability
I. Do the tests cover a good subset of cases?
II. Do they cover happy paths and exceptional cases?
III. Are there cases that haven’t been considered?
IV. Are the exception error messages understandable?
V. Are confusing sections of code either
I. documented,
II. commented,
III. covered by understandable tests?
Design part1
1. How does the new code fit with the overall architecture?
2. What design patterns are used in the new code?
3. Does the code follow:
1. SOLID principles,
2. Domain Driven Design
3. KISS principle
4. GRASP
Design part 2
1. Is the code in the right place?
2. Does this new code follow the current practices?
3. Does the new code introduce duplication?
4. Is the code over-engineered?
5. Does the team balance considerations of reusability with YAGNI?
Readability
I. Do the names* actually reflect the thing they represent?
II. Can I understand what the code does by reading it?
III. Can I understand what the tests do?
How to be a Great Reviewer?
 Have Empathy
 Watch your Language
 Have Clear Feedback
 Give Compliments
 Don’t be a Perfectionist
 Complete review in a hour
 Define Done
 Look to important things
Part 3
How to be a
Great Submitter
Don’t get rubber-stamped.
Don’t be too clever.
Readability Counts!
Don’t be too clever.
It needs no explanation.
Good code is like a good joke.
Stages of Review.
1.before submission
2.submitted
3. (optional) work in progress (30-50%)
4. almost done (90-100%)
5.review completed
step 1:
before submission
Provide Context (The Why).
1.Link to the underlying ticket/issue
2.Document why the change was needed
3.For larger PRs, provide a changelog
4.Point out any side-effects
YOU are the Primary Reviewer
1.Review your code with the same level
of detail you would give giving reviews
2. Anticipate problem areas
The Primary Reviewer
1.Make sure your code works, and is
thoroughly tested
2. Don’t rely on others to catch your
mistakes.
Before Submitting, Try a CheckList
small stuff
o Did you check for reusable code or utility
methods?
o Did I remove debugger statements?
o Are there clear commit messages?
big stuff
o Is my code secure?
o Will it scale?
o Read the Checklist Manifesto
step 2:
submitted
You’re starting a conversation
o Don’t get too attached to your code
before the review process
o Anticipate comments and feedback
o Acknowledge you will make mistakes
step 3 (Optional):
work in progress
Submit Work in Progress PRs
o Necessary for bigger features
o Open them your code is 30-50% done
o Don’t be afraid of showing incomplete,
incremental work
o This is the right time to get feedback on bigger
issues with the code
step 4:
almost done
When Code is Almost Done
o Feedback to expect:
o Nit Picks
o Variable Names
o Documentation & Comments
o Small Optimization
One Review per Issue
o Solved an unrelated problem? make a new PR
with a separate diff
o If you’re solving multiple problems, break
them up into multiple PRs for ease of review.
o You can branch off your feature branch to
keep the diff small
Prevent Reviewer Burnout
o Remember, reviews lose value when they’re
more than 500 lines of code.
o Keep reviews small and relevant.
o If submitting a big review is unavoidable, give
the reviewer extra time.
Check Code
with Automated Tools
step 5:
review complete
Be Responsive
o Reply to every comment
o Common Responses:
o Resolved
o Won’t Fix
o If you won’t fix, make sure you’ve come to a
mutual understanding with the reviewer
It’s still a Conversation
If there were comments, let your reviewer
know when you’ve pushed changes and
are ready to be re-reviewed
Don’t Bike-Shed
o bikeshed.com
o back & forth > 3 times? step away from the
keyboard.
o talk instead!
o record the conversation in the Review
Fight for what you believe, but
gracefully accept defeat.
Don’t take it personally.
It’s an opportunity for growth.
What did we learn?
reviews decrease WTFs/m
less WTFs -> happier devs!
Thanks for your attention
Майкл Уэлан
Resources
1. How to Successfully Grow a Code Review Culture
2. What to Look for in a Code Review
3. Code Review Best Practices
4. Best Practices for Code Review
5. 2018 State of Code Review report.
6. The Best Kept Secrets of Peer Code Review

More Related Content

What's hot

Cap Theorem
Cap TheoremCap Theorem
Cap Theorem
Michał Łomnicki
 
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Garry D. Lasaga
 
Jarrar: Description Logic
Jarrar: Description LogicJarrar: Description Logic
Jarrar: Description Logic
Mustafa Jarrar
 
Np complete
Np completeNp complete
Ai quantifiers
Ai quantifiersAi quantifiers
Ai quantifiers
Tayyaba Jabeen
 
[D2]pinpoint 개발기
[D2]pinpoint 개발기[D2]pinpoint 개발기
[D2]pinpoint 개발기
NAVER D2
 
Natural Language Processing in Artificial Intelligence - Codeup #5 - PayU
Natural Language Processing in Artificial Intelligence  - Codeup #5 - PayU Natural Language Processing in Artificial Intelligence  - Codeup #5 - PayU
Natural Language Processing in Artificial Intelligence - Codeup #5 - PayU
Artivatic.ai
 
Artificial Intelligence Notes Unit 1
Artificial Intelligence Notes Unit 1 Artificial Intelligence Notes Unit 1
Artificial Intelligence Notes Unit 1
DigiGurukul
 
First order logic
First order logicFirst order logic
First order logic
Megha Sharma
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
Lalit Kale
 
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Atlassian
 
Unit4: Knowledge Representation
Unit4: Knowledge RepresentationUnit4: Knowledge Representation
Unit4: Knowledge Representation
Tekendra Nath Yogi
 
Divide&Conquer & Dynamic Programming
Divide&Conquer & Dynamic ProgrammingDivide&Conquer & Dynamic Programming
Divide&Conquer & Dynamic Programming
Guillaume Guérard
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
Saurabh Kaushik
 
Fundamental of Algorithms
Fundamental of Algorithms Fundamental of Algorithms
Fundamental of Algorithms
Dr Shashikant Athawale
 
Heuristic search-in-artificial-intelligence
Heuristic search-in-artificial-intelligenceHeuristic search-in-artificial-intelligence
Heuristic search-in-artificial-intelligence
grinu
 
Artificial Intelligence Notes Unit 2
Artificial Intelligence Notes Unit 2Artificial Intelligence Notes Unit 2
Artificial Intelligence Notes Unit 2
DigiGurukul
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
Pekka Klärck
 
Data Structures- Hashing
Data Structures- Hashing Data Structures- Hashing
Data Structures- Hashing
hemalatha athinarayanan
 
Open Closed Principle kata
Open Closed Principle kataOpen Closed Principle kata
Open Closed Principle kata
Paul Blundell
 

What's hot (20)

Cap Theorem
Cap TheoremCap Theorem
Cap Theorem
 
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
Introduction Artificial Intelligence a modern approach by Russel and Norvig 1
 
Jarrar: Description Logic
Jarrar: Description LogicJarrar: Description Logic
Jarrar: Description Logic
 
Np complete
Np completeNp complete
Np complete
 
Ai quantifiers
Ai quantifiersAi quantifiers
Ai quantifiers
 
[D2]pinpoint 개발기
[D2]pinpoint 개발기[D2]pinpoint 개발기
[D2]pinpoint 개발기
 
Natural Language Processing in Artificial Intelligence - Codeup #5 - PayU
Natural Language Processing in Artificial Intelligence  - Codeup #5 - PayU Natural Language Processing in Artificial Intelligence  - Codeup #5 - PayU
Natural Language Processing in Artificial Intelligence - Codeup #5 - PayU
 
Artificial Intelligence Notes Unit 1
Artificial Intelligence Notes Unit 1 Artificial Intelligence Notes Unit 1
Artificial Intelligence Notes Unit 1
 
First order logic
First order logicFirst order logic
First order logic
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
Code Review for Teams Too Busy to Review Code - Atlassian Summit 2010
 
Unit4: Knowledge Representation
Unit4: Knowledge RepresentationUnit4: Knowledge Representation
Unit4: Knowledge Representation
 
Divide&Conquer & Dynamic Programming
Divide&Conquer & Dynamic ProgrammingDivide&Conquer & Dynamic Programming
Divide&Conquer & Dynamic Programming
 
Natural Language Processing
Natural Language ProcessingNatural Language Processing
Natural Language Processing
 
Fundamental of Algorithms
Fundamental of Algorithms Fundamental of Algorithms
Fundamental of Algorithms
 
Heuristic search-in-artificial-intelligence
Heuristic search-in-artificial-intelligenceHeuristic search-in-artificial-intelligence
Heuristic search-in-artificial-intelligence
 
Artificial Intelligence Notes Unit 2
Artificial Intelligence Notes Unit 2Artificial Intelligence Notes Unit 2
Artificial Intelligence Notes Unit 2
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 
Data Structures- Hashing
Data Structures- Hashing Data Structures- Hashing
Data Structures- Hashing
 
Open Closed Principle kata
Open Closed Principle kataOpen Closed Principle kata
Open Closed Principle kata
 

Similar to How to successfully grow a code review culture

How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
Nina Zakharenko
 
Code review best practice
Code review best practiceCode review best practice
Code review best practice
Oren Digmi
 
Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020
Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020
Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020
Syeda Kauser Inamdar
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
Lemi Orhan Ergin
 
Assignment 1 Introductory Speech Four items worth 134 point.docx
Assignment 1 Introductory Speech Four items worth 134 point.docxAssignment 1 Introductory Speech Four items worth 134 point.docx
Assignment 1 Introductory Speech Four items worth 134 point.docx
trippettjettie
 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdfcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
sarah david
 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptxcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
sarah david
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
jeisner
 
How to review a pull request
How to review a pull requestHow to review a pull request
How to review a pull request
rouanw
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
nextbuild
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
Arin Sime
 
Hidden sides of Code Review (Do-iOS)
Hidden sides of Code Review (Do-iOS)Hidden sides of Code Review (Do-iOS)
Hidden sides of Code Review (Do-iOS)
Dmitrii Ivanov
 
Testing Intelligence
Testing IntelligenceTesting Intelligence
Testing Intelligence
Lalit Bhamare
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
Vaco Seattle
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
Philip Johnson
 
Interviews
InterviewsInterviews
Interviews
Kaushik Raghupathi
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
David O'Dowd
 
Openhelp11
Openhelp11Openhelp11
Openhelp11
Dru Lavigne
 
Session 5 Everything You Should Know About PMP & CAPM Certifications
Session 5 Everything You Should Know About PMP & CAPM CertificationsSession 5 Everything You Should Know About PMP & CAPM Certifications
Session 5 Everything You Should Know About PMP & CAPM Certifications
Seshne Govender
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
Igor Moochnick
 

Similar to How to successfully grow a code review culture (20)

How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
 
Code review best practice
Code review best practiceCode review best practice
Code review best practice
 
Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020
Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020
Level Up Your Python Code Reviews to Ship It Faster - WWCodeDigital - 2020
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Assignment 1 Introductory Speech Four items worth 134 point.docx
Assignment 1 Introductory Speech Four items worth 134 point.docxAssignment 1 Introductory Speech Four items worth 134 point.docx
Assignment 1 Introductory Speech Four items worth 134 point.docx
 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdfcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pdf
 
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptxcode_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
code_review_checklist_6_actions_to_improve_the_quality_of_your_reviews.pptx
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
How to review a pull request
How to review a pull requestHow to review a pull request
How to review a pull request
 
Effective code reviews
Effective code reviewsEffective code reviews
Effective code reviews
 
5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development5 reasons you'll love to hate Agile Development
5 reasons you'll love to hate Agile Development
 
Hidden sides of Code Review (Do-iOS)
Hidden sides of Code Review (Do-iOS)Hidden sides of Code Review (Do-iOS)
Hidden sides of Code Review (Do-iOS)
 
Testing Intelligence
Testing IntelligenceTesting Intelligence
Testing Intelligence
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
Interviews
InterviewsInterviews
Interviews
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Openhelp11
Openhelp11Openhelp11
Openhelp11
 
Session 5 Everything You Should Know About PMP & CAPM Certifications
Session 5 Everything You Should Know About PMP & CAPM CertificationsSession 5 Everything You Should Know About PMP & CAPM Certifications
Session 5 Everything You Should Know About PMP & CAPM Certifications
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
 

More from Danylenko Max

How to write clean tests
How to write clean testsHow to write clean tests
How to write clean tests
Danylenko Max
 
Consumer Driven Contract.pdf
Consumer Driven Contract.pdfConsumer Driven Contract.pdf
Consumer Driven Contract.pdf
Danylenko Max
 
Consumer driven contract
Consumer driven contractConsumer driven contract
Consumer driven contract
Danylenko Max
 
Fail fast! approach
Fail fast! approachFail fast! approach
Fail fast! approach
Danylenko Max
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
Danylenko Max
 
Testing microservices
Testing microservicesTesting microservices
Testing microservices
Danylenko Max
 

More from Danylenko Max (6)

How to write clean tests
How to write clean testsHow to write clean tests
How to write clean tests
 
Consumer Driven Contract.pdf
Consumer Driven Contract.pdfConsumer Driven Contract.pdf
Consumer Driven Contract.pdf
 
Consumer driven contract
Consumer driven contractConsumer driven contract
Consumer driven contract
 
Fail fast! approach
Fail fast! approachFail fast! approach
Fail fast! approach
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
Testing microservices
Testing microservicesTesting microservices
Testing microservices
 

Recently uploaded

Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
KrishnaveniKrishnara1
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
zubairahmad848137
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
mamunhossenbd75
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
RadiNasr
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
mamamaam477
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
HODECEDSIET
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
wisnuprabawa3
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 

Recently uploaded (20)

Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.pptUnit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
Unit-III-ELECTROCHEMICAL STORAGE DEVICES.ppt
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
 
Heat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation pptHeat Resistant Concrete Presentation ppt
Heat Resistant Concrete Presentation ppt
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdfIron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
Iron and Steel Technology Roadmap - Towards more sustainable steelmaking.pdf
 
Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 

How to successfully grow a code review culture

Editor's Notes

  1. What you can see in this chart below is the correlation between code review satisfaction and satisfaction in overall software quality. 81% of respondents who were satisfied with their code review process were also satisfied with the overall quality of their software. Respondents who were not satisfied with their code review process were half as likely to be satisfied in their overall software quality, with only 40% respectively. Information taken from https://smartbear.com/resources/ebooks/the-state-of-code-review-2018/
  2. What you can see in this chart below is the correlation between code review satisfaction and satisfaction in overall software quality. 81% of respondents who were satisfied with their code review process were also satisfied with the overall quality of their software. Respondents who were not satisfied with their code review process were half as likely to be satisfied in their overall software quality, with only 40% respectively. Information taken from https://smartbear.com/resources/ebooks/the-state-of-code-review-2018/
  3. 76% of respondents who are satisfied with their code review process say that they are able to get releases out on time compared to the 44% from the unsatisfied cohort. This chart shows the correlation between respondents who say that their team is able to release software on time and respondents who say that they are satisfied with the overall code quality they help deliver. In short, releasing on time is a strong indicator that your team is satisfied with the quality of your software and vice versa. Information taken from https://smartbear.com/resources/ebooks/the-state-of-code-review-2018/
  4. This chart below shows that there is a strong correlation between respondents who conduct frequent code reviews and teams who are able to release on time. There is definitely an investment to get your review process refined and churning, but the impact on development time can be transformational. Information taken from https://smartbear.com/resources/ebooks/the-state-of-code-review-2018/
  5. Высказывать предложение по улучшению .по тестированию и так далее
  6. Высказывать предложение по улучшению .по тестированию и так далее
  7. Высказывать предложение по улучшению .по тестированию и так далее
  8. Высказывать предложение по улучшению .по тестированию и так далее
  9. Высказывать предложение по улучшению .по тестированию и так далее
  10. Высказывать предложение по улучшению .по тестированию и так далее
  11. Высказывать предложение по улучшению .по тестированию и так далее
  12. Высказывать предложение по улучшению .по тестированию и так далее
  13. Высказывать предложение по улучшению .по тестированию и так далее
  14. Высказывать предложение по улучшению .по тестированию и так далее
  15. Высказывать предложение по улучшению .по тестированию и так далее
  16. *(of fields, variables, parameters, methods and classes)
  17. *(of fields, variables, parameters, methods and classes)
  18. *(of fields, variables, parameters, methods and classes)
  19. Высказывать предложение по улучшению .по тестированию и так далее
  20. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/bosu2015useful.pdf
  21. 
  22. 
  23. https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D1%82%D1%80%D0%B8%D0%B2%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8
  24. 
  25. 
  26. Высказывать предложение по улучшению .по тестированию и так далее
  27. 
  28. 
  29. 
  30.