awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
uber-go avatar

uber-go/guide

0
View on GitHub↗
17,573 星标·1,808 分支·Makefile·Apache-2.0·12 次浏览

Guide

This project is a collection of guidelines and best practices for the Go programming language, providing a comprehensive style guide and set of programming standards. It establishes a framework for writing maintainable and performant source code through standardized naming, structuring, and organizational conventions.

The guide focuses on specific patterns for concurrency, error handling, and performance optimization. It details methods for managing goroutine lifecycles to prevent race conditions, designing structured error wrapping and routing to maintain observability, and implementing memory allocation strategies to reduce garbage collection overhead.

The architectural guidance covers API design through dependency injection, functional options, and implementation encapsulation to ensure extensibility and testability. Quality assurance workflows are addressed through the use of table-driven testing, compile-time interface verification, and the integration of static analysis and linting tools.

Features

  • Go Ecosystem Conventions - Establishes standardized naming, structuring, and organizational conventions for consistency across large Go codebases.
  • Concurrent Programming Patterns - Defines architectural patterns for concurrent programming to ensure data consistency and safety.
  • Coding Style Guides - Provides a comprehensive set of standardized coding conventions and best practices for writing maintainable Go source code.
  • Go Idioms & Patterns - Provides idiomatic Go patterns for managing goroutine lifecycles and concurrent primitives.
  • Go Performance Optimization - Offers strategies for efficient primitive conversions and container capacity management.
  • Type Encapsulation - Details how to hide internal implementation details to maintain flexible and stable public APIs.
  • Error Handling - Provides a structured framework for designing, wrapping, and routing errors to maintain stability and observability.
  • Error Handling Strategies - Implements a structured approach to error wrapping and reporting to maintain observability.
  • Linear - Establishes a standard for shallow logic paths by prioritizing immediate error handling.
  • Functional Options - Describes the use of variadic functions to implement the functional options pattern for extensible API configuration.
  • Go API Architecture Design - Provides a comprehensive framework for designing testable and extensible Go APIs.
  • Dependency Injection - Provides guidelines on using structs and interfaces for dependency injection to improve testability and modularity.
  • Language Performance Optimization - Offers detailed recommendations for reducing memory allocations and optimizing primitive conversions to improve execution speed.
  • Goroutine Leak Prevention - Outlines signal mechanisms and exit strategies to prevent goroutine leaks.
  • Module Encapsulation Patterns - Provides patterns for preventing public implementation leakage by encapsulating internal types within public structs.
  • Slab-Based Pre-allocation - Implements memory allocation strategies such as specifying initial capacities to reduce garbage collection overhead.
  • Table-Driven Tests - Promotes the use of table-driven tests to increase code reliability and coverage.
  • Atomic Memory Operations - Provides guidance on using atomic types to ensure thread-safe memory access without locks.
  • Slab-Based Memory Pre-allocation - Recommends memory pre-allocation strategies to reduce garbage collection overhead.
  • Compile-Time Interface Verification - Explains how to use zero-value interface variables to catch implementation gaps at compile time.
  • Deferred Execution - Explains the use of the defer keyword to ensure timely release of files, locks, and other system resources.
  • Primitive Conversion Optimizations - Provides specialized conversion tools to transform primitive values into strings more efficiently than general formatting functions.
  • Custom Error Definitions - Details the design of static, dynamic, and custom error types for better contextual failure information.
  • Error Contextualization - Explains how to use format verbs to wrap errors with descriptive context while preserving the error chain.
  • Error Routing Logic - Provides a strategy for error routing to prevent noise in application logs.
  • Error Recovery - Emphasizes returning errors over triggering panics to ensure predictable application recovery.
  • Static Analysis - Integrates static analysis and linting tools to detect common coding mistakes and enforce consistent styling.
  • Static Code Analysis - Advocates for the use of automated linting and static analysis to ensure consistent coding style.
  • Coding Standards - Uber Go coding style guide.
  • Language Style Guides - Opinionated style and engineering standards for Go projects.
  • Programming Language Standards - Patterns and conventions for idiomatic Go code.

Star 历史

uber-go/guide 的 Star 历史图表uber-go/guide 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Guide 的开源替代方案

相似的开源项目,按与 Guide 的功能重合度排序。
  • xxjwxc/uber_go_guide_cnxxjwxc 的头像

    xxjwxc/uber_go_guide_cn

    8,172在 GitHub 上查看↗

    This project is a translated Go language style guide and programming standard. It provides a collection of coding standards and best practices designed to ensure that Go code remains maintainable, readable, and efficient. The guide focuses on idiomatic patterns for error handling, interface compliance, and memory optimization. It establishes standards for package naming and the use of functional options to maintain backward compatibility in constructors. It covers a broad range of capabilities, including concurrency management for coordinating process lifecycles and preventing resource leaks

    chinesecngo
    在 GitHub 上查看↗8,172
  • isocpp/cppcoreguidelinesisocpp 的头像

    isocpp/CppCoreGuidelines

    45,100在 GitHub 上查看↗

    The CppCoreGuidelines is a comprehensive software engineering standard that provides a curated framework of coding conventions and design principles for C++. It serves as an authoritative guide for writing safe, efficient, and maintainable code by establishing high-level architectural patterns and organizational principles for large-scale projects. The guidelines emphasize the use of a strong, static type system to ensure memory safety and enforce consistent resource management patterns. The project distinguishes itself by promoting the zero-overhead abstraction principle, ensuring that high-

    CSS
    在 GitHub 上查看↗45,100
  • bbatsov/ruby-style-guidebbatsov 的头像

    bbatsov/ruby-style-guide

    16,546在 GitHub 上查看↗

    This project is a community-driven Ruby coding style guide and static analysis standard. It provides a collection of agreed-upon rules for syntax, naming conventions, and structural guidelines to ensure uniform code appearance and maintainability across Ruby projects. The project serves as both a human-readable documentation resource for developers and a machine-readable RuboCop configuration specification. This allows natural language style guidelines to be mapped directly to automated linting rules. The system covers Ruby code standardization, style enforcement, and project governance thro

    在 GitHub 上查看↗16,546
  • golang-standards/project-layoutgolang-standards 的头像

    golang-standards/project-layout

    56,122在 GitHub 上查看↗

    This project provides a standardized directory layout pattern that establishes a predictable structure for organizing source code, configuration files, and documentation. It serves as a community-driven framework designed to improve project maintainability, simplify developer onboarding, and ensure consistency across large-scale software development efforts. By enforcing uniform file layouts, the project reduces cognitive load for developers working across multiple services or microservices. It utilizes convention-based folder templates to ensure that application logic, infrastructure, and co

    Makefilegogolangproject-structure
    在 GitHub 上查看↗56,122
查看 Guide 的所有 30 个替代方案→

常见问题解答

uber-go/guide 是做什么的?

This project is a collection of guidelines and best practices for the Go programming language, providing a comprehensive style guide and set of programming standards. It establishes a framework for writing maintainable and performant source code through standardized naming, structuring, and organizational conventions.

uber-go/guide 的主要功能有哪些?

uber-go/guide 的主要功能包括:Go Ecosystem Conventions, Concurrent Programming Patterns, Coding Style Guides, Go Idioms & Patterns, Go Performance Optimization, Type Encapsulation, Error Handling, Error Handling Strategies。

uber-go/guide 有哪些开源替代品?

uber-go/guide 的开源替代品包括: xxjwxc/uber_go_guide_cn — This project is a translated Go language style guide and programming standard. It provides a collection of coding… isocpp/cppcoreguidelines — The CppCoreGuidelines is a comprehensive software engineering standard that provides a curated framework of coding… bbatsov/ruby-style-guide — This project is a community-driven Ruby coding style guide and static analysis standard. It provides a collection of… golang-standards/project-layout — This project provides a standardized directory layout pattern that establishes a predictable structure for organizing… airbnb/ruby — This project provides a collection of coding standard specifications, style guides, and configuration assets used to… airbnb/javascript — This project provides a comprehensive set of coding standards and style guidelines for JavaScript development. It…