This talk was given at DjangoCon 2018 in San Diego, CA. Find the slides, video, and feedback in this post.
Video
Slides
View the slides on SpeakerDeck
Abstract
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:
- 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.
- 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.
- 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.
Tweets
"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." - @nnja #DjangoCon #Perspective
— Sanchit Balchandani (@inovizz) October 16, 2018
Wisdom from @nnja at #DjangoCon pic.twitter.com/9PS7qRcCPE
— Carol Willing (@WillingCarol) October 15, 2018
"Tests... write them." --@nnja's "Code Review Skills for Pythonistas" 👏
— Dustin Ingram at #PyCon #PyConUS2021 @pycon (@di_codes) October 15, 2018
#djangocon pic.twitter.com/ScSQqbnAaS
I just published a blog post, "Top 3 Django Gotchas to Catch during Code Review" to supplement my @djangocon talk https://t.co/4MJ1SHi9wf.
— Nina Zakharenko 💜🐍 (@nnja) October 1, 2018
Check it out! https://t.co/XzkXikz638
💙 this photo from the @djangocon women's & non-binary lunch, hosted by @pyladies @djangogirls and @azureadvocates. Had a great time talking to @laceynwilliams @hayleydenb @mariatta & so many other incredible and inspiring folks. pic.twitter.com/KKo9UMjY1o
— Nina Zakharenko 💜🐍 (@nnja) October 17, 2018
"Who has only had positive code review experiences?"🙋
— Rachell (@Rachell_Calhoun) October 15, 2018
"So three people" 😂
Grateful for my awesome co-workers. 👏👏👏👏@nnja #DjangoCon
Re: code reviews "Don't take it personally, you are not your code. " @nnja #DjangoCon
— Rachell (@Rachell_Calhoun) October 15, 2018
Check out the slides for my @djangocon talk -- Code Review Skills For Pythonistas https://t.co/z7BMpqBzAQ
— Nina Zakharenko 💜🐍 (@nnja) October 15, 2018
"Great code bases look like they were written by an individual even though they were worked on by a team. Style guides enforce that." -- @nnja #djangocon
— Sara D Gore (@saradgore) October 15, 2018