Overview of the Google Engineering Practices Documentation Project
The Google Engineering Practices Documentation is a comprehensive collection of guidelines and best practices curated by Google. These practices are applicable across all programming languages and projects, encapsulating Google's vast experience and knowledge in software development. By sharing these documents, Google aims to extend these benefits to open-source projects and other organizations seeking to improve their engineering processes.
Key Components
The documentation offers several key resources, notably the guidelines related to code review. This is bifurcated into two distinct guides:
-
The Code Reviewer's Guide: This document provides insights and instructions for those responsible for reviewing code changes, known as "changelists" in Google terminology. It includes criteria for evaluating code and offering constructive feedback to developers.
-
The Change Author's Guide: This is designed for developers who submit code changes. It outlines best practices for preparing code changes to facilitate a smooth review process, making it easier for reviewers to assess and approve.
Understanding the Terminology
-
CL (Changelist): In Google's context, a CL refers to a self-contained change submitted for version control or undergoing code review. Other organizations might refer to this as a "change," "patch," or "pull-request."
-
LGTM (Looks Good to Me): This is a common phrase used by code reviewers at Google to indicate their approval of a changelist. It signals that the submitted code meets the necessary standards and can be integrated into the main codebase.
Licensing
The documents in the Google Engineering Practices Documentation are made available under the Creative Commons Attribution 3.0 License (CC-By 3.0 License). This license allows and encourages the sharing and adaptation of the documentation, provided that appropriate credit is given. It aims to facilitate the spread of Google's engineering best practices across different industries and communities.
By making these guidelines accessible, Google advocates for improved coding standards and encourages other organizations to adopt these practices for developing robust, efficient software.