Implementing Effective Code Reviews: How to Build and Maintain Clean Code

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The ideal code review process differs from organization to organization, but the needs all boil down to the same foundational factors. A software development team cannot properly grow if its code reviews are not consistent, straightforward, and aspire to hit several company goals at once, such as security, performance, longevity, and more. Implementing Effective Code Reviews is the manual your team has been seeking.

Author Giuliana Carullo uses her expert background to guide you through the basics of building and maintaining clean code, and she is known for distilling complex concepts into entertaining and easy-to-grasp lessons. Healthy code requires incremental improvements, and knowing how to execute this is essential for conducting effective reviews on your team. While complex and fancy code can be interesting to work with, it will not always achieve business goals or solve urgent problems. Good coding practices are at the heart of a high-performing team, and Carullo instills these core values in a simple, straight-forward way in Implementing Effective Code Reviews.

Whether you are a passionate programmer looking to go the extra mile at the office, or an experienced software engineer seeking a guide to how to improve your leadership and code review process, this book covers it all. With each chapter wrapped up in a handy checklist of crucial takeaways, Carullo has created an essential handbook for coders everywhere. There are a lot of myths that dominate the programming landscape, and Implementing Effective Code Reviews grounds the process and gets to the heart of the matter. 


What You Will Learn
  • Understand how to work with your team to implement effective code reviews
  • Master good programming practices that will build healthy code
  • Discover how you should tackle different complex areas during code review like, security and performance 

Who This Book Is For

Passionate programmers willing to go the extra mile to be better at their jobs, new programmers looking to strengthen their programming skills, and experienced software engineers looking for a quick guide on how to review code

Author(s): Giuliana Carullo
Publisher: Apress
Year: 2020

Language: English
Pages: 216
City: New York

Contents
About the Author
About the Technical Reviewer
Preface
Introduction
Chapter 1: The Art of Programming
Code Smells
Software Development Life Cycle
Improving Quality with Code Reviews
Manual vs. Automated
Impact
Summary
Chapter 2: Code Structure
What Makes Bad Code?
Recipe for Disaster
Fundamental Principles of Good Code
The Zen of Python
KISS Principle
Reusability
Readability
Modularity
Maintainability
Testability
Composition vs. Inheritance
Premature Optimization
Sound Software Architectures
Be People Minded
Be SMART
APIs
Be Mindful of Control Structures
Pay Attention to Health Status
Summary
Code Review Checklist
Chapter 3: Data Structures
Introduction to Data Structures
Array
Linked List
Doubly Linked List
Stack
Queue
Hash Map
Binary Search Trees
Guidelines on Data Structures
Design Use Case
Evaluation and Review
Summary
Further Reading
Code Review Checklist
Chapter 4: Design Smells
Cyclic Dependencies
Feature Density
Unstable Dependency
Mashed Components
Ambiguous Interfaces
Mesh Components
First Lady Components
That’s Not My Responsibility Component or Bossy Component
Summary
Further Reading
Code Review Checklist
Chapter 5: Software Architectures
Code Under the Shower
Creational Design Patterns: The Days of Creation
Singleton
How
When
Guideline
Lazy Initialization
How
When
Guideline
Builder
How
When
Guideline
Abstract Factory
How
When
Guideline
Factory Method
How
When
Guideline
Structural Patterns: The Big Puzzle
Adapter
How
When
Guideline
Decorator
How
When
Guideline
Facade
How
When
Guideline
Composite
How
When
Guideline
Behavioral Design Patterns: Behave Code, Behave!
Observer
How
When
Guideline
Publisher-Subscriber
How
When
Guideline
Iterator
How
When
Guideline
Visitor
How
When
Guideline
State
How
When
Guideline
Chain of Responsibility
How
When
Guideline
Summary
Further Reading
Code Review Checklist
Chapter 6: From Scratch
Problem Statement
Is This Right?
Requirements
FURPS+
Validation
Technologies
What Do You Have? What Do You Need?
Processes
Approach for Code Reviews
Before You Start
In Progress
After
Summary
Further Reading
Code Review Checklist
Chapter 7: Naming and Formatting Conventions
Naming
You Should Be... What?
Not You Again
Keywords
The Good, the Bad, the Ugly
Python Naming Conventions in Short
That’s Magic
Parameterization
Modifiers
Formatting Code
Line Spacing
Indentation
Whitespace
Python Spacing in Short
Summary
Further Reading
Review Checklist
Chapter 8: Comments
“If the Code Is Good, I Don’t Need Comments” Philosophy
Conditions and Flows
IO Definition
Inline Comments
TODOs
That’s Obvious
Did You Just Lie to That programmer?
Subtle Hints
Typos
The Economy of Entire Words
Comments-Driven Development (CDD)
Coding Conventions
Final Tips on Documentation
Summary
Further Reading
Review Checklist
Chapter 9: Concurrency, Parallelism, and Performances
Foundation of Concurrency
CPUs and Cores
Threads Are Not Processes
Correctness of Concurrent Code
Thread Safety
Immutable and Stateless
ACID Transactions
Atomicity
Consistency
Isolation
Durability
Parallelism and Performances
Guidelines on Parallel Programming
Parallelizable Computation
Task and Data Granularity
Locality
Load Balancing
Measuring Performances
Amdahl’s Law
Observation
Asymptotic Analysis
Summary
Further Reading
Review Checklist
Chapter 10: Security
Security Definitions
Security Is Such a PAIN
Confidentiality
Integrity
Availability
Non-repudiation
Trade-offs
Fact or Fiction?
Security Principles
Least Privilege
Defense in Depth
Segregation of Duties
Fail Safe
Complete Mediation
Least Common Mechanism
Weakest Link
Security Principles Caveats
Security Code Review
Secure Software Development Lifecycle
Security Code Reviews
Automating Security Reviews
Summary
Further Reading
Review Checklist
Chapter 11: Code Reviews
Wrapping Up
Code Metrics
Defect Density
Defect Removal Effectiveness
Defects Found
Defects Latent
Review Metrics
Inspection Rate
Code Coverage
Defect Detection Rate
Recommendations and Guidelines
Clear Review Goals
Stay Scientific, Stay SMART
Plan Ahead
Checklists Are Simply Not Enough
Code Reviews for Developers
That’s a Trap
Manners
Code Reviews for Managers
Quality Means Faster
Distributed Teams
Show Me the Math
Summary
Further Reading
Review Checklist
Conclusions
Glossary
References
Index