Files
nexus/wiki/sources/开发经验与项目规范整理文档.md

5.5 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
开发经验与项目规范整理文档 source
vibe-coding
software-engineering
best-practices
coding-standards
microservices
redis
message-queue
2025-12-30

Source File

Summary用中文描述

  • 核心主题Vibe Coding 环境下的开发经验与项目规范最佳实践涵盖编码规范、系统架构原则、程序设计思想及基础设施微服务、Redis、消息队列
  • 问题域:如何建立可持续维护的 AI 辅助开发项目;如何制定团队编码规范;如何通过规范提升 AI 生成的代码质量
  • 方法/机制:
    • 变量名维护方案(统一变量索引文件,格式:变量名 | 变量注释 | 出现位置 | 出现频率)
    • 文件结构与命名规范(子文件夹含 agents + claude.md文件命名小写英文 + 下划线/小驼峰)
    • 编码规范单一职责、DRY、模块化消费端/生产端/状态/变换模型)
    • 并发编程规范(共享资源、数据竞争、锁机制、并发 vs 异步区分)
    • 系统架构原则(先梳理架构 → 理解需求 → 保持简单 → 自动化测试 → 小步迭代)
    • 程序设计核心思想(从问题出发、清晰命名、单一职责、可读性优先、合理注释、测试优先)
    • 微服务拆分原则(独立开发/部署/扩容,服务间通过 API 通信)
    • Redis 缓存策略(提升读性能、降低 DB 压力、提供计数/锁/队列/Session 能力)
    • 消息队列异步通信(解耦、削峰填谷、异步任务处理)
  • 结论/价值:为 AI 辅助开发项目提供系统化规范框架,强调从问题出发而非代码出发,提升代码可维护性和团队协作效率

Key Claims用中文描述

  • 统一变量索引文件能降低命名冲突和语义不清晰带来的风险,实现 AI 与团队全局命名一致性管理
  • 编码规范中的「消费端 → 生产端 → 状态 → 变换」模型能清晰划分系统行为边界,明确输入→处理→输出各环节
  • 系统开发应遵循「先理解需求 → 保持架构与代码简单 → 写可维护的自动化测试 → 小步迭代,不做大爆炸开发」的严谨流程
  • 编程第一步永远是「你要解决什么问题」,复杂问题拆解为可独立完成的小单元,减少复杂度、魔法代码、晦涩技巧
  • 注释解释「为什么」,而非「怎么做」;代码可读性优先,写的代码是给别人理解的,不是来炫技的
  • 未测试的代码迟早会出问题,调试是程序员核心技能,永远不要把代码只放本地
  • 微服务将系统拆解为多个独立开发、独立部署、独立扩容的服务,服务间通过 API 通信HTTP、RPC、MQ 等)
  • Redis 通过缓存提升系统读性能、降低数据库压力并提供计数、锁、队列、Session 等扩展能力
  • 消息队列实现服务间的异步通信,带来解耦、削峰填谷、异步任务处理等系统稳定性与吞吐收益

Key Quotes

"编程的第一步永远是:你要解决什么问题?" — 从问题出发而非代码 "你写的代码是给别人理解的,不是来炫技的。" — 代码可读性优先 "注释解释'为什么',不是'怎么做'。" — 合理注释原则 "未测试的代码迟早会出问题。" — 测试优先 "永远不要把代码只放本地。" — 调试是必修课

Key Concepts

  • 单一职责原则每个文件、类、函数应只负责一件事提炼公共逻辑避免重复代码DRY
  • DRY原则Don't Repeat Yourself避免重复代码提高复用价值
  • 模块化编程:将系统分解为独立模块,提高复用价值,函数化、类化、模块化
  • 输入-处理-输出模型:明确区分消费端(接收外部数据)、生产端(生成数据/输出结果)、状态(存储当前系统信息)、变换(处理状态/改变数据的逻辑)
  • 并发编程:区分共享资源、数据竞争、必要时加锁或使用线程安全结构,区分"并发处理"和"异步处理"的差异
  • 微服务架构:将系统拆解为独立开发、部署、扩容的服务,服务间通过 API 通信
  • Redis缓存:作为缓存提升系统读性能,降低数据库压力,提供计数/锁/队列/Session 能力
  • 消息队列:用于服务之间的异步通信,实现解耦、削峰填谷、异步任务处理
  • 系统架构梳理:模块划分、输入输出、数据流向、服务边界、技术栈、依赖关系在写代码前先明确

Key Entities

  • 无特定商业实体提及,本文档为方法论文档,涵盖软件工程通用规范框架

Connections

Contradictions

  • 与传统软件开发方法冲突:
    • 冲突点:传统强调"先理解代码再修改",本文强调"从问题出发而非代码出发"
    • 当前观点Vibe Coding 环境下AI 生成代码量大,应先明确问题再让 AI 生成,而非逐步理解 AI 生成的代码
    • 对方观点:传统软件工程强调对代码的深度理解是维护和修改的前提