SlideShare a Scribd company logo
How I review code
@erikEcoologic

Github: erikEcoologic
Too big?
• Ask to split it (:

• I will make frequent, small, releases so that I do not
impede the progress of others (Programmer’s Oath n.4)
Read
• Architecture agreed in advance?

• The actual task description (referenced in the MR title) -
ideally

• The MR title and description

• The commit messages…
Commit messages
• Fix… (tell what)

• Refactor… (tell what, use multiline?)

• S1234 As a user I want to do this (include specs for this)

• S1234 As a user I want to do that (include specs for that)

• Cleanup (green specs)

• —

• Possibly avoid commits with: WIP, “solved conflicts”, “merged x” etc

• git reset --soft origin/master # Careful - Git stash; green specs; Bisect
Reading the Code
• Scroll and get an idea

• Start from the specs

• Follow the code like a parser

• Global review
Specs
• What you expect from the title (core functionality)

• Some unit tests

• Internals are not mocked

• betterspecs.org

• I will produce, with each release, a quick, sure, and
repeatable proof that every element of the code works as
it should (Programmer’s Oath n.3)
Production Code
• Security!!

• Readability

• Doesn’t make you feel stupid

• I will continuously ensure that others can cover for me,
and that I can cover for them (Programmer’s Oath n.7)

• Simplicity

• Can you think of a simpler way?
Good Code
• Agile principles (e.g. DRY, IAGNI)

• OO principles (e.g. SOLID, Demeter)

• Design Patterns (e.g. Service)

• Code smells (e.g. Shotgun surgery)

• Bad practices (e.g. Comment what)

• The code that I produce will always be my best work. I will
not knowingly allow code that is defective either in behavior
or structure to accumulate (Programmer’s Oath n.2)
Naming!!
• Follows company conventions

• Follows project conventions

• Consistent namespacing

• Specific, limited responsibility

• It does what it says

• Is clear what it does
9
How to comment
• Ask questions

• Suggest, don’t impose yourself

• Back your comments with links

• Everyone learns, objective comment

• In depth explanation

• Create a common language

• I will never stop learning and improving my craft (Programmer’s Oath n.9)

• Agile: People over tools, be kind

• Talk in person, but make sure you’re chill

• Mention the good stuff too
More Resources
• blog.jetbrains.com/upsource/2015/07/23/what-to-look-
for-in-a-code-review

• blog.cleancoder.com/uncle-bob/2015/11/18/
TheProgrammersOath.html

• Clean Code Book - Robert C. Martin

• Refactoring Book - Kent Beck

• Agile Manifesto
Thank You
Twitter: @erikecoologic

Github: ErikEcoologic

More Related Content

PPTX
F# for startups
PPTX
Make a better with clean code
PDF
Python typing module
PPTX
Thinking of Documentation as Code [YUIConf 2013]
PDF
TDD and Related Techniques for Non Developers (2012)
ODP
Tools to help you understand other people's code
PPTX
Ruby on Rails Fundamentals, Class 1
PDF
WTF is TDD
F# for startups
Make a better with clean code
Python typing module
Thinking of Documentation as Code [YUIConf 2013]
TDD and Related Techniques for Non Developers (2012)
Tools to help you understand other people's code
Ruby on Rails Fundamentals, Class 1
WTF is TDD

Similar to Code Review (20)

PPTX
Integreation
PPS
Clean Code and Common Engineering Practices
PPT
Clean Code summary
PPTX
Clean and Green Code
PPTX
Coding Standard And Code Review
PDF
Clean Code. An Agile Guide to Software Craft Kameron H.
PDF
Systems se
PDF
Clean Code. An Agile Guide to Software Craft Kameron H.
PDF
Code Review for iOS
PDF
Writing clean and maintainable code
PDF
Clean Code. An Agile Guide to Software Craft Kameron H.
PDF
Clean Code
PPTX
Eurosport's Kodakademi #2
PPT
Code Quality
PPTX
Robert martin
PPTX
Clean code quotes - Citações e provocações
PDF
How to write good quality code
PPTX
Writing Clean Code (Recommendations by Robert Martin)
PPTX
Clean Code Software Engineering
PDF
YAGNI Principle and Clean Code
Integreation
Clean Code and Common Engineering Practices
Clean Code summary
Clean and Green Code
Coding Standard And Code Review
Clean Code. An Agile Guide to Software Craft Kameron H.
Systems se
Clean Code. An Agile Guide to Software Craft Kameron H.
Code Review for iOS
Writing clean and maintainable code
Clean Code. An Agile Guide to Software Craft Kameron H.
Clean Code
Eurosport's Kodakademi #2
Code Quality
Robert martin
Clean code quotes - Citações e provocações
How to write good quality code
Writing Clean Code (Recommendations by Robert Martin)
Clean Code Software Engineering
YAGNI Principle and Clean Code
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Machine Learning_overview_presentation.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Spectroscopy.pptx food analysis technology
PPTX
1. Introduction to Computer Programming.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Tartificialntelligence_presentation.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Empathic Computing: Creating Shared Understanding
PPT
Teaching material agriculture food technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
MYSQL Presentation for SQL database connectivity
Machine Learning_overview_presentation.pptx
Approach and Philosophy of On baking technology
Accuracy of neural networks in brain wave diagnosis of schizophrenia
NewMind AI Weekly Chronicles - August'25-Week II
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
SOPHOS-XG Firewall Administrator PPT.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Spectroscopy.pptx food analysis technology
1. Introduction to Computer Programming.pptx
Network Security Unit 5.pdf for BCA BBA.
Tartificialntelligence_presentation.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Advanced methodologies resolving dimensionality complications for autism neur...
Unlocking AI with Model Context Protocol (MCP)
Empathic Computing: Creating Shared Understanding
Teaching material agriculture food technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Ad

Code Review

  • 1. How I review code @erikEcoologic Github: erikEcoologic
  • 2. Too big? • Ask to split it (: • I will make frequent, small, releases so that I do not impede the progress of others (Programmer’s Oath n.4)
  • 3. Read • Architecture agreed in advance? • The actual task description (referenced in the MR title) - ideally • The MR title and description • The commit messages…
  • 4. Commit messages • Fix… (tell what) • Refactor… (tell what, use multiline?) • S1234 As a user I want to do this (include specs for this) • S1234 As a user I want to do that (include specs for that) • Cleanup (green specs) • — • Possibly avoid commits with: WIP, “solved conflicts”, “merged x” etc • git reset --soft origin/master # Careful - Git stash; green specs; Bisect
  • 5. Reading the Code • Scroll and get an idea • Start from the specs • Follow the code like a parser • Global review
  • 6. Specs • What you expect from the title (core functionality) • Some unit tests • Internals are not mocked • betterspecs.org • I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should (Programmer’s Oath n.3)
  • 7. Production Code • Security!! • Readability • Doesn’t make you feel stupid • I will continuously ensure that others can cover for me, and that I can cover for them (Programmer’s Oath n.7) • Simplicity • Can you think of a simpler way?
  • 8. Good Code • Agile principles (e.g. DRY, IAGNI) • OO principles (e.g. SOLID, Demeter) • Design Patterns (e.g. Service) • Code smells (e.g. Shotgun surgery) • Bad practices (e.g. Comment what) • The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate (Programmer’s Oath n.2)
  • 9. Naming!! • Follows company conventions • Follows project conventions • Consistent namespacing • Specific, limited responsibility • It does what it says • Is clear what it does 9
  • 10. How to comment • Ask questions • Suggest, don’t impose yourself • Back your comments with links • Everyone learns, objective comment • In depth explanation • Create a common language • I will never stop learning and improving my craft (Programmer’s Oath n.9) • Agile: People over tools, be kind • Talk in person, but make sure you’re chill • Mention the good stuff too
  • 11. More Resources • blog.jetbrains.com/upsource/2015/07/23/what-to-look- for-in-a-code-review • blog.cleancoder.com/uncle-bob/2015/11/18/ TheProgrammersOath.html • Clean Code Book - Robert C. Martin • Refactoring Book - Kent Beck • Agile Manifesto