Published May 26, 2020

Google's Engineering Practices - What to Look for in a Code Review

Delve into Google's engineering practices as Joe Zack unpacks the intricacies of code reviews, emphasizing design, architecture, and complexity management. Discover the importance of robust unit testing and learn how positive feedback and effective commenting can shape a more productive code review culture.
Episode Highlights
Coding Blocks logo

Popular Clips

Episode Highlights

  • Positive Feedback

    In code reviews, emphasizing positive feedback can be as impactful as pointing out errors. highlights the importance of acknowledging good work, especially when mentoring, as it reinforces improvement and boosts morale. suggests creating a shorthand for positive feedback, akin to "nitpicking," to make it a regular part of the review process 1. humorously notes that people often receive more kindness from strangers than from those they work closely with, underscoring the need for positive reinforcement in professional settings 2.

       

    Commenting Practices

    Proper commenting practices are crucial for code clarity and maintenance. emphasizes that comments should explain the "why" rather than the "what" of the code, especially for complex algorithms or regular expressions 3. distinguishes between inline comments and documentation, noting that comments should clarify the code's purpose and usage without being overly verbose 4. adds a humorous touch by suggesting that comments on regular expressions might as well be written by "monkeys banging on keyboards," highlighting their complexity and the need for clear explanations.

       

    Naming Conventions

    Clear and meaningful naming conventions are vital for enhancing code readability and reducing errors. argues that while variable names should be concise, they must also convey enough information to be understood without extensive context 5. He stresses the importance of method and class names, as these are crucial for future developers navigating the codebase 6. agrees, noting that overly generic names can indicate a method is doing too much, suggesting that names should accurately reflect the method's purpose.

Related Episodes