SlideShare a Scribd company logo
1 of 19
Pull Request Review
@ketanghumatkar
1. Pull Request Template
A. Title of pagination
Enhancement :: Placed pagination on user listing page
B. Description
Pagination will consist of
I. per page dropdown
II. Search based on name and email
1. Pull Request Template Continues...
C. Screenshots
Place screenshots of product if UI change
D. Email Notification
/cc @Treeni/devs
E. Tasks
- [x] :+1: Unit Tested
- [ ] :+1: From Team
1. Pull Request Template Continues...
F. References
- Taiga link: issue/0000
- Taiga link: us/0000
G. Risks
- Level: Low/Medium/High
- Script: Link of the script if any
- Extra information
1. Pull Request Template Continues...
2. Code Commit
A. Commit sentence
- Precise. Not too small, not to lengthy.
- Mention Feature, Enhancement, Issue.
B. Commit sequence
- Each logical code change should be committed.
- Commit sequence should reflect code thinking.
2. Code Commit
3. Code changes
A . Closely observe file changes
B . Modification in API / function / methods
C . Addition of new API / function / methods
D . Model association changes
E . Scope for refactoring
F . Scope for reusability component
3. Code Changes
Notice if API change break previous version of code.
Use of $timeout, sleep. These functions mostly indicate workaround to actual
implementation and scope for unexpected behaviour.
3. Code Changes
In case of refactoring, suggest changes with sample code snippet in comment. Use
polite language.
4. Code Quality
Identify scope to create reusable component. Do not repeat yourself.
Pull Request Approval Process
Pull Request Approval Process
Pull Request Approval Process
Key Points
1. Basic Principles - Single Responsibility, YAGNI, DRY, Don’t reinvent the wheel
2. More Basics - Readability, Maintainability, Scalability, etc
3. Follow Framework/Language Code guidelines
4. Code for root cause
5. Solution for future
6. Address for business needs
7. Love for ease of use, reducing efforts for someone
8. Help user with better UX/UI
Common Mistakes in Pull Request Review
1. The mindless +1
2. Procrastination
3. Use of Unified diff. Prefer split diff
4. Style over substance
5. Not catching incomplete changes which are
not part of code change
6. Discounting frontend complexity
7. The narrow mindset
8. Short-term thinking
1. Not enough details about pull request. Ask
for it!
2. If change log is too big, ask for split up
3. If you don’t understand some code. Break
you pride and ask about it!
4. If you found, hell lot of problem, it’s time for
face to face discussion
Guideline for Review Comment
1. Comment for refactor
2. Comment for information
3. Comment for guideline
4. Comment for suggestion
5. Comment for approach
6. Comment for future
7. Comment for confusion
8. Comment for understanding
Use polite language, Be descriptive, Give more example and help link, Keep your ego
aside!
#future
1. Way for automate code review with code analysing tool
2. Pull request review checklist
3. Pair Review Mechanism
(: Thank You :)

More Related Content

Similar to Pull Request Review Guide

Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInformation Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInnovate Vancouver
 
PHP Dublin Meetup - Clean Code in PHP
PHP Dublin Meetup - Clean Code in PHPPHP Dublin Meetup - Clean Code in PHP
PHP Dublin Meetup - Clean Code in PHPParas Sood
 
How I Built a Membership Site Using Joomla Components and without being a dev...
How I Built a Membership Site Using Joomla Components and without being a dev...How I Built a Membership Site Using Joomla Components and without being a dev...
How I Built a Membership Site Using Joomla Components and without being a dev...jdaychi
 
How to Prepare for Information Technology
How to Prepare for Information TechnologyHow to Prepare for Information Technology
How to Prepare for Information TechnologySudheer Paidi
 
Git_Practices - Guidelines.pdf
Git_Practices - Guidelines.pdfGit_Practices - Guidelines.pdf
Git_Practices - Guidelines.pdfharshit259398
 
How to successfully grow a code review culture
How to successfullygrow a code review cultureHow to successfullygrow a code review culture
How to successfully grow a code review cultureDanylenko Max
 
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...DevDay.org
 
Offshore tips sharing_2.0
Offshore tips sharing_2.0Offshore tips sharing_2.0
Offshore tips sharing_2.0Dao Ngoc Kien
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyProjectAcom
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaSteven HK Ma | 馬國豪
 
PROJECT notes mg.pptx
PROJECT notes mg.pptxPROJECT notes mg.pptx
PROJECT notes mg.pptxy4417546
 
Customer Insights Presentation Example
Customer Insights Presentation ExampleCustomer Insights Presentation Example
Customer Insights Presentation ExampleAllison Milchling
 
Some notes - My company is LSS warehouse logistic company.docx
Some notes - My company is LSS warehouse logistic company.docxSome notes - My company is LSS warehouse logistic company.docx
Some notes - My company is LSS warehouse logistic company.docxwhitneyleman54422
 
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docxIGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docxAnilVhatkar
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
Sitecore user group mumbai sitecore commerce extension
Sitecore user group mumbai  sitecore commerce extensionSitecore user group mumbai  sitecore commerce extension
Sitecore user group mumbai sitecore commerce extensionJitendra Soni
 

Similar to Pull Request Review Guide (20)

Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInformation Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
 
PHP Dublin Meetup - Clean Code in PHP
PHP Dublin Meetup - Clean Code in PHPPHP Dublin Meetup - Clean Code in PHP
PHP Dublin Meetup - Clean Code in PHP
 
How I Built a Membership Site Using Joomla Components and without being a dev...
How I Built a Membership Site Using Joomla Components and without being a dev...How I Built a Membership Site Using Joomla Components and without being a dev...
How I Built a Membership Site Using Joomla Components and without being a dev...
 
How to Prepare for Information Technology
How to Prepare for Information TechnologyHow to Prepare for Information Technology
How to Prepare for Information Technology
 
Git_Practices - Guidelines.pdf
Git_Practices - Guidelines.pdfGit_Practices - Guidelines.pdf
Git_Practices - Guidelines.pdf
 
How to successfully grow a code review culture
How to successfullygrow a code review cultureHow to successfullygrow a code review culture
How to successfully grow a code review culture
 
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
[DevDay2018] Let’s all get along. Clean Code please! - By: Christophe K. Ngo,...
 
Offshore tips sharing_2.0
Offshore tips sharing_2.0Offshore tips sharing_2.0
Offshore tips sharing_2.0
 
Building a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue companyBuilding a microservice architecture for a 100mio# revenue company
Building a microservice architecture for a 100mio# revenue company
 
IIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteriaIIT Academy: 204 User stories and acceptance criteria
IIT Academy: 204 User stories and acceptance criteria
 
PROJECT notes mg.pptx
PROJECT notes mg.pptxPROJECT notes mg.pptx
PROJECT notes mg.pptx
 
Customer Insights Presentation Example
Customer Insights Presentation ExampleCustomer Insights Presentation Example
Customer Insights Presentation Example
 
Some notes - My company is LSS warehouse logistic company.docx
Some notes - My company is LSS warehouse logistic company.docxSome notes - My company is LSS warehouse logistic company.docx
Some notes - My company is LSS warehouse logistic company.docx
 
Good code
Good codeGood code
Good code
 
Lifecycle Model
Lifecycle ModelLifecycle Model
Lifecycle Model
 
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docxIGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
IGNOU BCS-051 Software Engineering December 2022 - Exam Solutions.docx
 
CV Coral
CV CoralCV Coral
CV Coral
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Sitecore user group mumbai sitecore commerce extension
Sitecore user group mumbai  sitecore commerce extensionSitecore user group mumbai  sitecore commerce extension
Sitecore user group mumbai sitecore commerce extension
 

Recently uploaded

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Pull Request Review Guide

  • 2. 1. Pull Request Template A. Title of pagination Enhancement :: Placed pagination on user listing page B. Description Pagination will consist of I. per page dropdown II. Search based on name and email
  • 3. 1. Pull Request Template Continues... C. Screenshots Place screenshots of product if UI change D. Email Notification /cc @Treeni/devs E. Tasks - [x] :+1: Unit Tested - [ ] :+1: From Team
  • 4. 1. Pull Request Template Continues... F. References - Taiga link: issue/0000 - Taiga link: us/0000 G. Risks - Level: Low/Medium/High - Script: Link of the script if any - Extra information
  • 5. 1. Pull Request Template Continues...
  • 6. 2. Code Commit A. Commit sentence - Precise. Not too small, not to lengthy. - Mention Feature, Enhancement, Issue. B. Commit sequence - Each logical code change should be committed. - Commit sequence should reflect code thinking.
  • 8. 3. Code changes A . Closely observe file changes B . Modification in API / function / methods C . Addition of new API / function / methods D . Model association changes E . Scope for refactoring F . Scope for reusability component
  • 9. 3. Code Changes Notice if API change break previous version of code. Use of $timeout, sleep. These functions mostly indicate workaround to actual implementation and scope for unexpected behaviour.
  • 10. 3. Code Changes In case of refactoring, suggest changes with sample code snippet in comment. Use polite language.
  • 11. 4. Code Quality Identify scope to create reusable component. Do not repeat yourself.
  • 15. Key Points 1. Basic Principles - Single Responsibility, YAGNI, DRY, Don’t reinvent the wheel 2. More Basics - Readability, Maintainability, Scalability, etc 3. Follow Framework/Language Code guidelines 4. Code for root cause 5. Solution for future 6. Address for business needs 7. Love for ease of use, reducing efforts for someone 8. Help user with better UX/UI
  • 16. Common Mistakes in Pull Request Review 1. The mindless +1 2. Procrastination 3. Use of Unified diff. Prefer split diff 4. Style over substance 5. Not catching incomplete changes which are not part of code change 6. Discounting frontend complexity 7. The narrow mindset 8. Short-term thinking 1. Not enough details about pull request. Ask for it! 2. If change log is too big, ask for split up 3. If you don’t understand some code. Break you pride and ask about it! 4. If you found, hell lot of problem, it’s time for face to face discussion
  • 17. Guideline for Review Comment 1. Comment for refactor 2. Comment for information 3. Comment for guideline 4. Comment for suggestion 5. Comment for approach 6. Comment for future 7. Comment for confusion 8. Comment for understanding Use polite language, Be descriptive, Give more example and help link, Keep your ego aside!
  • 18. #future 1. Way for automate code review with code analysing tool 2. Pull request review checklist 3. Pair Review Mechanism

Editor's Notes

  1. Perfect slide
  2. PR is too big. You have confidence on submittor. You assume some things will work normally. Why review it now? After all, it really is a big pull request. And your current task is too important. 4. Sometime review gives way for important and time for styling of code like indentation, block, loops and small code but it is worth to understand original requirement and more focus on functionality deliverable. Better approach to implement it. 5. There are some changes need to be done along with current code changes. But as code diff does not show it there are changes we may miss this. Good reviewer should catch it. Like test cases 6. Sometimes we consider frontend changes like html css need not to be worries much and you simply assume their working. Dont do this. Look for actual view on browser during review 7. Avoid narrow mindnet. If new feature is coming on code, think it from global view for its impact and analysis. Will impact any other functionality. Will it impact user experience. Will impact performance. Will impact data