{"id":49069682,"url":"https://github.com/omeyang/engineering-handbook","last_synced_at":"2026-04-20T06:35:38.196Z","repository":{"id":350423673,"uuid":"1206772844","full_name":"omeyang/engineering-handbook","owner":"omeyang","description":"A practical engineering handbook for Go backend teams, covering naming, design, testing, reliability, performance, observability, refactoring, and quality gates.","archived":false,"fork":false,"pushed_at":"2026-04-10T08:46:32.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T10:37:00.639Z","etag":null,"topics":["backend","coding-standards","engineering-handbook","go","golang","observability","refactoring","software-design","testing"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omeyang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-10T08:35:51.000Z","updated_at":"2026-04-10T08:46:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/omeyang/engineering-handbook","commit_stats":null,"previous_names":["omeyang/engineering-handbook"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/omeyang/engineering-handbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omeyang%2Fengineering-handbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omeyang%2Fengineering-handbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omeyang%2Fengineering-handbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omeyang%2Fengineering-handbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omeyang","download_url":"https://codeload.github.com/omeyang/engineering-handbook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omeyang%2Fengineering-handbook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32036692,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","coding-standards","engineering-handbook","go","golang","observability","refactoring","software-design","testing"],"created_at":"2026-04-20T06:35:37.592Z","updated_at":"2026-04-20T06:35:38.185Z","avatar_url":"https://github.com/omeyang.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go 后端工程手册\n\n[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-green.svg)](./LICENSE)\n[![Language: Markdown](https://img.shields.io/badge/Language-Markdown-blue)](./README.md)\n[![Docs: 18 chapters](https://img.shields.io/badge/Docs-18%20chapters-orange)](./README.md)\n\n本手册是面向 Go 后端项目的通用工程标准，涵盖命名、设计、编码、测试、性能、可观测性等核心维度。\n\n适用对象：\n\n- Go 后端团队的日常开发与 Code Review\n- 新项目的工程规范初始化\n- 存量系统的重构与质量治理\n\n内容范围：\n\n- 命名、设计、函数设计、封装与抽象\n- 测试、错误处理、性能、可观测性\n- 质量门禁、重构流程、综合检查清单\n- 中文技术文档与工程写作规范\n\n快速入口：\n\n- 从 [README.md](./README.md) 的文档索引按主题阅读\n- 新团队落地时，优先阅读 [02-design-principles.md](./02-design-principles.md)、[03-coding-checklist.md](./03-coding-checklist.md)、[04-testing-standards.md](./04-testing-standards.md) 和 [13-quality-gates.md](./13-quality-gates.md)\n- 做文档治理时，配合 [10-documentation-standards.md](./10-documentation-standards.md) 和 [10A-chinese-writing-style.md](./10A-chinese-writing-style.md) 使用\n\n## 文档索引\n\n| 编号 | 文档 | 说明 |\n|------|------|------|\n| 01 | [命名准则](./01-naming-conventions.md) | 包、文件、类型、函数、变量的命名规范 |\n| 02 | [设计准则](./02-design-principles.md) | 四层架构、模块化、面向接口、避免过度设计 |\n| 03 | [编码自检清单](./03-coding-checklist.md) | 代码提交前、Code Review、重构的检查清单 |\n| 04 | [测试标准](./04-testing-standards.md) | TDD 流程、覆盖率要求、Mock 策略、表驱动测试 |\n| 05 | [错误处理与健壮性](./05-error-handling.md) | 错误包装、边界条件、防御式编程、并发安全、优雅降级 |\n| 06 | [接口设计](./06-interface-and-abstraction.md) | 小接口原则、抽象时机、泛型使用、抽象层次 |\n| 07 | [可观测性](./07-observability.md) | 可测试性、日志、监控、追踪、可读性 |\n| 08 | [性能标准](./08-performance.md) | 数据库优化、缓存策略、并发优化、内存优化 |\n| 09 | [文件与包设计](./09-file-and-package-design.md) | 文件规模、包组织、依赖管理、目录结构 |\n| 10 | [文档书写标准](./10-documentation-standards.md) | 技术文档的 12 项核心原则与书写规范 |\n| 11 | [设计模式参考](./11-design-patterns-reference.md) | 可靠性、性能、创建型、结构型、行为型模式索引 |\n| 12 | [重构流程准则](./12-refactoring-guide.md) | 7 步重构流程、兼容性保证、灰度发布、回滚策略 |\n| 13 | [质量门禁](./13-quality-gates.md) | 静态分析、复杂度控制、覆盖率、安全检查、CI/CD 集成 |\n| 15 | [函数设计规范](./15-function-design.md) | 函数职责、CQS、参数设计、Guard Clause、组合拆分 |\n| 16 | [封装与信息隐藏](./16-encapsulation.md) | 导出决策、结构体设计、包 API 面积控制、构造函数设计 |\n| 17 | [内聚耦合度量](./17-cohesion-coupling.md) | 内聚判定、耦合度量、解耦策略、边界设计、依赖方向 |\n| 14 | [综合检查清单](./14-comprehensive-checklist.md) | 整合所有标准的分层检查清单与命令速查表 |\n| 18 | [质量意识](./18-quality-mindset.md) | 六大质量维度、质量权衡、业务抽象、挑战现状 |\n| 10A | [中文技术写作规范](./10A-chinese-writing-style.md) | 标点、括号、链接、术语一致性、常见错误、自动化工具 |\n\n## 关键词约定\n\n本手册中的关键词\"**必须**\"、\"**禁止**\"、\"**应该**\"、\"**不应该**\"和\"**可以**\"按照 [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt) 中的描述进行解释。\n\n## 适用范围\n\n本手册适用于所有 Go 后端项目的开发、重构和 Code Review，是团队统一的工程质量标准。\n\n## 贡献方式\n\n欢迎通过 Issue 或 Pull Request 持续完善本手册。提交前请先阅读 [CONTRIBUTING.md](./CONTRIBUTING.md)。\n\n## 许可协议\n\n本文档采用 [CC BY 4.0](./LICENSE) 许可协议发布。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomeyang%2Fengineering-handbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomeyang%2Fengineering-handbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomeyang%2Fengineering-handbook/lists"}