Code Reviews

Ilko Kacharov


Lead Dev @Proxiad / @Mailjet


12+ years in PHP

Zend Framework 2 Certified Architect

Engineer in communications

4+ years in Code reviews






My Project is my Home

~8 hours a day

Clean and tidy

Secure and private

My Project is my Home

When you start a project you  define the rules of the house.


Everyone who joins the project

should follow the rules!

My Project is my Home

Don't end up here

The housekeeper

Artwork by

Back in the days


Maintainability and Simplicity

Code management


Code quality / style / standards, best practices


Browser wars and internet revolution - Web 2.0


do we need the process

  • Reading code gets you in the mood for coding
  • Keeps you up to date with the codebase
  • Reduces back and forth with QA team
  • Provides early feedback on the code
  • Coding becomes social activity
  • Starts discussions and generates ideas


  • Code duplication
  • Functionality duplication
  • Introducing or reducing technical debt
  • Bugs and inconsistencies
  • Dependencies to libraries and repos
  • Security and sensitive data protection
  • Performance bottlenecks
  • Maintainability

to look for in the code

Artwork by


You know the code

  • Suggest architecture improvements
  • Add code snippets (grabs attention, legitimacy, facts)         

to comment the code


You don't know the code

  • Ask for details or explanation (you might learn something)
  • Too obvious things to ignore


Gut feelings & raised eyebrows

  • Check your sources first (links & references to source code)
  • Uncontroversial approach



to be formally polite 


"We can use a tool instead of doing it manual."

"We better do filtering before we insert in the database."

"You can check if this code is available already."

Artwork by


to be formally polite 


"We've changed this recently. Have you seen it?"

"Have you checked the code in the other module?"

"Is this code gonna be able to do the math if we pass 0?"


to be formally polite 


"Please verify that input, so we include all edge cases."

"Please use Оctocat memes when doing web presentations."

"Please add exclamation marks when code must be changed!"

Artwork by


to be formally polite 


"Good catch!"

"Clever approach!"

"Never knew code can do that!"

Artwork by


to be formally polite 

Opinions are last

"I think this code already exists."

"I think we can do backflips instead."

The one who gives only opinion takes no responsibility.

To improve is to change

To perfect is to change often


Winston Churchill   



Artwork by

Iterations and passes

  • Daily code review routine
  • Code review checklist for consistency
  • Monitor and track security patterns
  • Review individual commits on meaningful changes
  • Early feedback on general issues

~ 40 lines

~ 200 lines

> 500 lines

First feedback at 30%

  • Early feedback on the approach
  • Focus on architecture decisions
  • Skip minor details, code style

Second feedback at 90%

  • Final touches
  • Code style and trivial things
  • Configurations and environment


  • Diff

  • History

  • Blame

  • Ignore whitespace

  • Ticket references #

  • Pre-commit hooks

  • Pull Requests

  • Labels (ask me later)

  • Code comments

  • Inline resolving of conflicts

  • Automatic code quality tools

  • Slack / Email notifications

to improve the process

Artwork by


to improve the process

Slack Notifications in #git-repo-name

Thank you!




Thanks to for all the Octocats

Practical Code Reviews [BWS]

By Ilko Kacharov

Practical Code Reviews [BWS]

  • 1,535