SlideShare a Scribd company logo
Effective
Code Review
Jane Prusakova
@jprusakova
Effective
Code Review
Jane Prusakova
@jprusakova
Judge a coder by the code?
Cooperation, not competition
Attention is respect
Everyone is a reviewer
Size matters
• Consistent criteria
• Maintain focus
• Be agile
• Limit scope
• Limit time
Bucket list
Visual layout
Naming
Architecture
Test coverage
• Is it readable*?
• Is it good
maintainable
code?
• Does it do what it
appears to do?
Skip
Explanations what the code does
Checks by automated tools
Reasons why this code is bad
Arguments about preferences*
Code review is NOT
A substitute for the QA
A check on automated tools results
A discussion on formatting, tools, or patterns
All code must be perfect?
It depends
Goals of code review
Immediate benefit
Medium to longer-term improvements
Building technical community
Good Code
Worthy of a compliment
Bugs
Unintended
behavior
Bad
Code
Bugs coming
soon
Erratic
code
Hard to
understand
Common Vision
-ilities
Dependencies
Poor scalability
Code review is not a meeting
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Preparation Conversation Follow up
Author Reviewer(s)
Code review is not a meeting
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Preparation Conversation Follow up
Author Reviewer(s)
Author
Verify test coverage
Run code quality tools
Fix problems
Reviewer
Be prepared
Learn requirements
Read the code
Read the tests
What is readable code?
Defined by technology community
Common knowledge
Expected tenure
Popular tools
Readability
Short code blocks
Minimize nestedness
WYSIWYG
Show logic
One decision per code block
Visible assumptions
D.R.Y.
Test every scenario exactly once
Naming
 Make sense
 Accepted terminology
 Abbreviations
 As short as possible
 but not any shorter
 Easy to distinguish
String result, response, received;
Integer value, values;
MainClassHelper aHlpr;
SituationUtils utils;
PersonalDetails personsDetails;
PersonalsDetails adCollectionDetails;
Code quality
Architecture
Architecture
Code reflects understanding
Architecture
technical details
Standard practices
Consistent patterns
Reflects requirements
Builds on prior knowledge
Tests
All scenarios covered
No repetitive tests
Robust test structure
Outcome
Learning
Recommendations
Try-it-out
Follow up
Review the recommendations
Make changes
Apply learning
Write more code
Prepare for the next code review
It is OK
Challenge the advice
Do more research
Ask for clarification
Technical Quality
Takes time
Takes a community
Takes iterations
Write
code
Prepare
for code
review
Code
review
Follow
up
Bugs
Unintended
behavior
Bad
Code
Bugs coming
soon
Erratic
code
Hard to
understand
Common Vision
-ilities
Dependencies
Poor scalability
Good Code
Worthy of a compliment
Code review is like pants.
If you work alone, pants are optional.
But if you are part of a team, make sure you
have pants on.
Effective
Code Review
Jane Prusakova
@jprusakova

More Related Content

What's hot

Pull requests and testers can be friends
Pull requests and testers can be friendsPull requests and testers can be friends
Pull requests and testers can be friends
Alan Parkinson
 
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D... XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
The Linux Foundation
 
Peer review
Peer reviewPeer review
Peer review
Charuta Joshi
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentSamnang Chhun
 
Code review at large scale
Code review at large scaleCode review at large scale
Code review at large scale
Mikalai Alimenkou
 
Code Review Skills for Pythonistas - Nina Zakharenko - EuroPython
Code Review Skills for Pythonistas - Nina Zakharenko - EuroPythonCode Review Skills for Pythonistas - Nina Zakharenko - EuroPython
Code Review Skills for Pythonistas - Nina Zakharenko - EuroPython
Nina Zakharenko
 
The Psychology of C# Analysis
The Psychology of C# AnalysisThe Psychology of C# Analysis
The Psychology of C# Analysis
Coverity
 
Continuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonestContinuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonest
Shawn Jones
 
Intro TDD Portuguese developers meetup London 16/04/2014
Intro TDD Portuguese developers meetup London 16/04/2014Intro TDD Portuguese developers meetup London 16/04/2014
Intro TDD Portuguese developers meetup London 16/04/2014Pedro Santos
 
Mastering Code Reviews
Mastering Code ReviewsMastering Code Reviews
Mastering Code Reviews
Derik Whittaker
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) review
Ida Aalen
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
Yevhen Shyshkin
 
Test Driven Development by Sameer Arora
Test Driven Development by Sameer AroraTest Driven Development by Sameer Arora
Test Driven Development by Sameer AroraXebia IT Architects
 
Testing strategies for legacy code
Testing strategies for legacy codeTesting strategies for legacy code
Testing strategies for legacy code
Alex Soto
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Process
gsporar
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
Shawn Jones
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
QA or the Highway
 
Every code coverage tool is measuring the wrong thing (on purpose)
Every code coverage tool is measuring the wrong thing (on purpose)Every code coverage tool is measuring the wrong thing (on purpose)
Every code coverage tool is measuring the wrong thing (on purpose)
Sean Reilly
 
BOTS TESTING BOTS: From manual to automated testing for conversational AI
BOTS TESTING BOTS: From manual to automated testing for conversational AIBOTS TESTING BOTS: From manual to automated testing for conversational AI
BOTS TESTING BOTS: From manual to automated testing for conversational AI
Databricks
 
First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?
Andy Zaidman
 

What's hot (20)

Pull requests and testers can be friends
Pull requests and testers can be friendsPull requests and testers can be friends
Pull requests and testers can be friends
 
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D... XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
XPDS16: Patch review for non-maintainers - George Dunlap, Citrix Systems R&D...
 
Peer review
Peer reviewPeer review
Peer review
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Code review at large scale
Code review at large scaleCode review at large scale
Code review at large scale
 
Code Review Skills for Pythonistas - Nina Zakharenko - EuroPython
Code Review Skills for Pythonistas - Nina Zakharenko - EuroPythonCode Review Skills for Pythonistas - Nina Zakharenko - EuroPython
Code Review Skills for Pythonistas - Nina Zakharenko - EuroPython
 
The Psychology of C# Analysis
The Psychology of C# AnalysisThe Psychology of C# Analysis
The Psychology of C# Analysis
 
Continuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonestContinuous Integration: Finding problems soonest
Continuous Integration: Finding problems soonest
 
Intro TDD Portuguese developers meetup London 16/04/2014
Intro TDD Portuguese developers meetup London 16/04/2014Intro TDD Portuguese developers meetup London 16/04/2014
Intro TDD Portuguese developers meetup London 16/04/2014
 
Mastering Code Reviews
Mastering Code ReviewsMastering Code Reviews
Mastering Code Reviews
 
Let's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) reviewLet's review it: What designers can learn from (code) review
Let's review it: What designers can learn from (code) review
 
Code Review Best Practices
Code Review Best PracticesCode Review Best Practices
Code Review Best Practices
 
Test Driven Development by Sameer Arora
Test Driven Development by Sameer AroraTest Driven Development by Sameer Arora
Test Driven Development by Sameer Arora
 
Testing strategies for legacy code
Testing strategies for legacy codeTesting strategies for legacy code
Testing strategies for legacy code
 
Agile Austin - Peer Code Review An Agile Process
Agile Austin -  Peer Code Review An Agile ProcessAgile Austin -  Peer Code Review An Agile Process
Agile Austin - Peer Code Review An Agile Process
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Every code coverage tool is measuring the wrong thing (on purpose)
Every code coverage tool is measuring the wrong thing (on purpose)Every code coverage tool is measuring the wrong thing (on purpose)
Every code coverage tool is measuring the wrong thing (on purpose)
 
BOTS TESTING BOTS: From manual to automated testing for conversational AI
BOTS TESTING BOTS: From manual to automated testing for conversational AIBOTS TESTING BOTS: From manual to automated testing for conversational AI
BOTS TESTING BOTS: From manual to automated testing for conversational AI
 
First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?First steps in testing analytics: Does test code quality matter?
First steps in testing analytics: Does test code quality matter?
 

Viewers also liked

Code Analysis in Revit Architecture
Code Analysis in Revit ArchitectureCode Analysis in Revit Architecture
Code Analysis in Revit Architecture
Jake Boen
 
iOSCon
iOSConiOSCon
El Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de Canarias
El Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de CanariasEl Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de Canarias
El Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de Canarias
Agustín Díaz Lorenzo
 
Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...
Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...
Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...
Verke
 
Freedom of Speech & Freedom of Education in Spain Today
Freedom of Speech & Freedom of Education in Spain TodayFreedom of Speech & Freedom of Education in Spain Today
Freedom of Speech & Freedom of Education in Spain Today
Ignacio Arsuaga
 
How to Take Charge of Your Career and Be Successful
How to Take Charge of Your Career and Be SuccessfulHow to Take Charge of Your Career and Be Successful
How to Take Charge of Your Career and Be Successful
Anna Lundberg
 
Manejo de la preeclampsia y vómitos en el embarazo
Manejo de la preeclampsia y vómitos en el embarazoManejo de la preeclampsia y vómitos en el embarazo
Manejo de la preeclampsia y vómitos en el embarazo
Farmacia Hospital Universitario Poniente
 
المرور عبر حارس البوابه و الوصول الى متخذ القرار
المرور عبر حارس البوابه و الوصول الى متخذ القرارالمرور عبر حارس البوابه و الوصول الى متخذ القرار
المرور عبر حارس البوابه و الوصول الى متخذ القرار
Ashraf Osman
 
Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...
Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...
Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...
CINEC Campus
 
Instinto, sexo y sexualidad
Instinto, sexo y sexualidadInstinto, sexo y sexualidad
Instinto, sexo y sexualidad
Jesus Villasmil
 
5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...
5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...
5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...
Harvard Web Working Group
 
Problematicas emergentes
Problematicas emergentesProblematicas emergentes
Problematicas emergentes
cursavirtual
 
オブジェクト指向
オブジェクト指向オブジェクト指向
オブジェクト指向
和樹 川端
 
Edudirectores - El desarrollo de la función directiva - 1ª sesión presencial
Edudirectores - El desarrollo de la función directiva - 1ª sesión presencialEdudirectores - El desarrollo de la función directiva - 1ª sesión presencial
Edudirectores - El desarrollo de la función directiva - 1ª sesión presencial
Juanfra Álvarez Herrero
 
成果を達成するためのデザインプロセス
成果を達成するためのデザインプロセス成果を達成するためのデザインプロセス
成果を達成するためのデザインプロセス
Yuudai Tachibana
 
Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...
Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...
Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...
Codemotion
 
Techniques & Tools for Training Strong Distributed Teams
Techniques & Tools for Training Strong Distributed TeamsTechniques & Tools for Training Strong Distributed Teams
Techniques & Tools for Training Strong Distributed Teams
Sococo
 
conservation and rewarding biodiversity conservation Trondheim 05-10-gupta-...
conservation and rewarding biodiversity conservation Trondheim   05-10-gupta-...conservation and rewarding biodiversity conservation Trondheim   05-10-gupta-...
conservation and rewarding biodiversity conservation Trondheim 05-10-gupta-...
Dr Anil Gupta
 
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry PiGrâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Jérémy Derussé
 
Using Open Data to fuel LegalTech Innovation
Using Open Data to fuel LegalTech InnovationUsing Open Data to fuel LegalTech Innovation
Using Open Data to fuel LegalTech Innovation
Eric Rodriguez (Hiring in Lex)
 

Viewers also liked (20)

Code Analysis in Revit Architecture
Code Analysis in Revit ArchitectureCode Analysis in Revit Architecture
Code Analysis in Revit Architecture
 
iOSCon
iOSConiOSCon
iOSCon
 
El Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de Canarias
El Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de CanariasEl Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de Canarias
El Cabildo maltrata a LPGC en el reparto del Fondo de Desarrollo de Canarias
 
Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...
Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...
Nuorten sosiaalisen viestinnän muutos - Juha Kiviniemi - Verke - 28.3.2017 - ...
 
Freedom of Speech & Freedom of Education in Spain Today
Freedom of Speech & Freedom of Education in Spain TodayFreedom of Speech & Freedom of Education in Spain Today
Freedom of Speech & Freedom of Education in Spain Today
 
How to Take Charge of Your Career and Be Successful
How to Take Charge of Your Career and Be SuccessfulHow to Take Charge of Your Career and Be Successful
How to Take Charge of Your Career and Be Successful
 
Manejo de la preeclampsia y vómitos en el embarazo
Manejo de la preeclampsia y vómitos en el embarazoManejo de la preeclampsia y vómitos en el embarazo
Manejo de la preeclampsia y vómitos en el embarazo
 
المرور عبر حارس البوابه و الوصول الى متخذ القرار
المرور عبر حارس البوابه و الوصول الى متخذ القرارالمرور عبر حارس البوابه و الوصول الى متخذ القرار
المرور عبر حارس البوابه و الوصول الى متخذ القرار
 
Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...
Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...
Innovations, Challenges, and Opportunities to Develop Regional Cooperation fo...
 
Instinto, sexo y sexualidad
Instinto, sexo y sexualidadInstinto, sexo y sexualidad
Instinto, sexo y sexualidad
 
5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...
5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...
5 Steps to (Remote) Team Bliss: How to Build Thriving, High-Performing (Remot...
 
Problematicas emergentes
Problematicas emergentesProblematicas emergentes
Problematicas emergentes
 
オブジェクト指向
オブジェクト指向オブジェクト指向
オブジェクト指向
 
Edudirectores - El desarrollo de la función directiva - 1ª sesión presencial
Edudirectores - El desarrollo de la función directiva - 1ª sesión presencialEdudirectores - El desarrollo de la función directiva - 1ª sesión presencial
Edudirectores - El desarrollo de la función directiva - 1ª sesión presencial
 
成果を達成するためのデザインプロセス
成果を達成するためのデザインプロセス成果を達成するためのデザインプロセス
成果を達成するためのデザインプロセス
 
Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...
Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...
Distributed System explained (with NodeJS) - Bruno Bossola - Codemotion Milan...
 
Techniques & Tools for Training Strong Distributed Teams
Techniques & Tools for Training Strong Distributed TeamsTechniques & Tools for Training Strong Distributed Teams
Techniques & Tools for Training Strong Distributed Teams
 
conservation and rewarding biodiversity conservation Trondheim 05-10-gupta-...
conservation and rewarding biodiversity conservation Trondheim   05-10-gupta-...conservation and rewarding biodiversity conservation Trondheim   05-10-gupta-...
conservation and rewarding biodiversity conservation Trondheim 05-10-gupta-...
 
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry PiGrâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
Grâce aux tags Varnish, j'ai switché ma prod sur Raspberry Pi
 
Using Open Data to fuel LegalTech Innovation
Using Open Data to fuel LegalTech InnovationUsing Open Data to fuel LegalTech Innovation
Using Open Data to fuel LegalTech Innovation
 

Similar to Effective Code Review

The Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and TomorrowThe Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and Tomorrow
M Firdaus Harun
 
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
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
phildenoncourt
 
Automated Code Reviews with AI and ML - DevOps Next
Automated Code Reviews with AI and ML - DevOps NextAutomated Code Reviews with AI and ML - DevOps Next
Automated Code Reviews with AI and ML - DevOps Next
Perfecto by Perforce
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applicationsnadeembtech
 
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
Code reviewCode review
Code review
Aleksey Solntsev
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
Trisha Gee
 
What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?
Pooja Rani
 
Hidden sides of Code Review (MMM-2023)
Hidden sides of Code Review (MMM-2023)Hidden sides of Code Review (MMM-2023)
Hidden sides of Code Review (MMM-2023)
Dmitrii Ivanov
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool Evaluation
Kate Semizhon
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoft
Michaela Greiler
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
Maven Logix
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
Josh Gough
 
Teaching Through Code Review
Teaching Through Code ReviewTeaching Through Code Review
Teaching Through Code Review
DerekBinkley1
 
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
 
How and When To Code Review
How and When To Code ReviewHow and When To Code Review
How and When To Code Review
Paul Gower
 
TDD for Testers Workshop
TDD for Testers WorkshopTDD for Testers Workshop
TDD for Testers Workshop
Sarah Usher
 
Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)
Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)
Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)
El Mahdi Benzekri
 

Similar to Effective Code Review (20)

The Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and TomorrowThe Next Static Code Analysis Tool - Today and Tomorrow
The Next Static Code Analysis Tool - Today and Tomorrow
 
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
 
Code Reviews
Code ReviewsCode Reviews
Code Reviews
 
Automated Code Reviews with AI and ML - DevOps Next
Automated Code Reviews with AI and ML - DevOps NextAutomated Code Reviews with AI and ML - DevOps Next
Automated Code Reviews with AI and ML - DevOps Next
 
Quality metrics and angular js applications
Quality metrics and angular js applicationsQuality metrics and angular js applications
Quality metrics and angular js applications
 
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
Code reviewCode review
Code review
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and Manners
 
What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?What Do Developers Discuss about Code Comments?
What Do Developers Discuss about Code Comments?
 
Hidden sides of Code Review (MMM-2023)
Hidden sides of Code Review (MMM-2023)Hidden sides of Code Review (MMM-2023)
Hidden sides of Code Review (MMM-2023)
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool Evaluation
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoft
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
 
Teaching Through Code Review
Teaching Through Code ReviewTeaching Through Code Review
Teaching Through Code Review
 
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
 
How and When To Code Review
How and When To Code ReviewHow and When To Code Review
How and When To Code Review
 
TDD for Testers Workshop
TDD for Testers WorkshopTDD for Testers Workshop
TDD for Testers Workshop
 
Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)
Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)
Caring About Code Quality (Clean Code, GRASP, Effective Java, Design Pattern)
 

More from Jane Prusakova

Software architecture houstontechfest2020
Software architecture houstontechfest2020Software architecture houstontechfest2020
Software architecture houstontechfest2020
Jane Prusakova
 
Estimating software development
Estimating software developmentEstimating software development
Estimating software development
Jane Prusakova
 
Better remote teams
Better remote teamsBetter remote teams
Better remote teams
Jane Prusakova
 
Thoughts on building software architecture
Thoughts on building software architectureThoughts on building software architecture
Thoughts on building software architecture
Jane Prusakova
 
Improving IT Performance
Improving IT PerformanceImproving IT Performance
Improving IT Performance
Jane Prusakova
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Jane Prusakova
 
Questions of Ethics in Software Development
Questions of Ethics in Software DevelopmentQuestions of Ethics in Software Development
Questions of Ethics in Software Development
Jane Prusakova
 
Just startcoding
Just startcodingJust startcoding
Just startcoding
Jane Prusakova
 
Just start coding
Just start codingJust start coding
Just start coding
Jane Prusakova
 
Good code
Good codeGood code
Good code
Jane Prusakova
 
Managing remote teams.
Managing remote teams.Managing remote teams.
Managing remote teams.
Jane Prusakova
 
Gender-neutral Recruiting
Gender-neutral RecruitingGender-neutral Recruiting
Gender-neutral Recruiting
Jane Prusakova
 
Privacy In The Digital Age
Privacy In The Digital AgePrivacy In The Digital Age
Privacy In The Digital Age
Jane Prusakova
 
Interview: a Learning Conversation
Interview: a Learning ConversationInterview: a Learning Conversation
Interview: a Learning Conversation
Jane Prusakova
 
Lets talk about good code
Lets talk about good codeLets talk about good code
Lets talk about good code
Jane Prusakova
 
Motivating Knowledge Workers
Motivating Knowledge WorkersMotivating Knowledge Workers
Motivating Knowledge Workers
Jane Prusakova
 
What is good code?
What is good code?What is good code?
What is good code?
Jane Prusakova
 
Pragmatic Agile: distributed teams
Pragmatic Agile: distributed teamsPragmatic Agile: distributed teams
Pragmatic Agile: distributed teams
Jane Prusakova
 
A case for remote teams
A case for remote teamsA case for remote teams
A case for remote teams
Jane Prusakova
 
Lets talk About Good Code (Dallas TechFest 2014)
Lets talk About Good Code (Dallas TechFest 2014)Lets talk About Good Code (Dallas TechFest 2014)
Lets talk About Good Code (Dallas TechFest 2014)
Jane Prusakova
 

More from Jane Prusakova (20)

Software architecture houstontechfest2020
Software architecture houstontechfest2020Software architecture houstontechfest2020
Software architecture houstontechfest2020
 
Estimating software development
Estimating software developmentEstimating software development
Estimating software development
 
Better remote teams
Better remote teamsBetter remote teams
Better remote teams
 
Thoughts on building software architecture
Thoughts on building software architectureThoughts on building software architecture
Thoughts on building software architecture
 
Improving IT Performance
Improving IT PerformanceImproving IT Performance
Improving IT Performance
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Questions of Ethics in Software Development
Questions of Ethics in Software DevelopmentQuestions of Ethics in Software Development
Questions of Ethics in Software Development
 
Just startcoding
Just startcodingJust startcoding
Just startcoding
 
Just start coding
Just start codingJust start coding
Just start coding
 
Good code
Good codeGood code
Good code
 
Managing remote teams.
Managing remote teams.Managing remote teams.
Managing remote teams.
 
Gender-neutral Recruiting
Gender-neutral RecruitingGender-neutral Recruiting
Gender-neutral Recruiting
 
Privacy In The Digital Age
Privacy In The Digital AgePrivacy In The Digital Age
Privacy In The Digital Age
 
Interview: a Learning Conversation
Interview: a Learning ConversationInterview: a Learning Conversation
Interview: a Learning Conversation
 
Lets talk about good code
Lets talk about good codeLets talk about good code
Lets talk about good code
 
Motivating Knowledge Workers
Motivating Knowledge WorkersMotivating Knowledge Workers
Motivating Knowledge Workers
 
What is good code?
What is good code?What is good code?
What is good code?
 
Pragmatic Agile: distributed teams
Pragmatic Agile: distributed teamsPragmatic Agile: distributed teams
Pragmatic Agile: distributed teams
 
A case for remote teams
A case for remote teamsA case for remote teams
A case for remote teams
 
Lets talk About Good Code (Dallas TechFest 2014)
Lets talk About Good Code (Dallas TechFest 2014)Lets talk About Good Code (Dallas TechFest 2014)
Lets talk About Good Code (Dallas TechFest 2014)
 

Recently uploaded

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 

Recently uploaded (20)

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 

Effective Code Review