Nina Zakharenko - Code Review Skills for Pythonistas
Channel: EuroPython Conference
Date: 30/08/2018

Code Review Skills for Pythonistas
[EuroPython 2018 - Talk - 2018-07-26 - Lammermuir]
[Edinburgh, UK]

By Nina Zakharenko

As teams and projects grow, code review becomes increasingly important to support the maintainability of complex codebases. In this talk, I'll cover guidelines for writing consistent python code beyond pep8, how to look out for common python gotchas, and what python tools are available to automate various parts of the review process. Most importantly, I'll cover the human aspect of code reviews - how we can be better at approaching reviews with empathy and understanding from the perspective of both a reviewer and a submitter. Following these successful code review practices will lead to happier teams and healthier code bases.

This talk is useful for python developers with any amount of experience. No prerequisite knowledge is necessary. 
- For those who are just starting out, it will be a great general overview.
- Intermediate developers may not know about the wide variety of tooling that's available.
- Advanced developers will learn techniques for performing code reviews with empathy.

This talk will enable you to have better code reviews on your teams at work, and a better approach to code reviews in open source projects. You'll leave with 3 main takeaways:
 1. Code Reviews are most effective when conducted with empathy. If you do reviews with growth and learning in mind, they become tools for sharing knowledge instead of an opportunity to bruise egos or show off esoteric knowledge.
 2. Python has powerful tooling available for code reviews such as pep8 as a style guide, pylint as a linter, coverage.py to identify test coverage, and vulture to identify dead code.
 3. That python style guides beyond pep8 have clear benefits in terms of producing more consistent code that's easier to review and easier to maintain.



License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/
Please see our speaker release agreement for details: https://ep2018.europython.eu/en/speaker-release-agreement/