Files
lab/AGENTS.md
T
labmem d375463de5 refactor(go)!: 分离练习区与独立项目区
- 将现有练习及 module 文件迁移至 go/practice,保持代码和依赖不变
- 新增 go/projects 项目区说明,更新目录约定与开发命令

BREAKING CHANGE: Go 练习命令需改在 go/practice 目录下执行
2026-10-15 22:26:57 +08:00

2.6 KiB
Raw Blame History

AGENTS.md

仓库结构

按语言分层的个人练习仓库,每种语言一个顶层目录,各自独立管理依赖。

目录 说明
go/ Go 代码:practice/ 是共用 module(module lab)的练习区,projects/ 各项目为独立 module
note/ 个人笔记(非代码),note/项目/ 被 gitignore
dart/ 预留,尚未建立

Go 约定

  • Go 代码集中在 go/,目录本身不是 module,按用途分两区:
    • go/practice/——共用 module 的练习区,go.mod 在该目录内(见 go/practice/README.md)
    • go/projects/<项目名>/——每个项目一个独立 module,自带 go.mod(见 go/projects/README.md)
  • go 命令在对应 module 的根目录执行:练习代码在 go/practice/ 内执行;projects 每个项目在自己的目录内执行
  • 练习区中每个叶子目录通常是一个独立小程序(package main + main.go),多个小程序并存互不冲突;库包(如算法实现)与只有测试文件的包也是合法形态
  • 主题目录可随时增删;写新程序时挑最贴的主题,在里面建一个新子目录
  • 测试文件用 *_test.go,运行单个测试:cd go/practice && go test ./testing/slice -run TestSliceAppend

开发命令

# Go 练习——在 go/practice/ 目录下执行
cd go/practice
go run ./basics/runtime/        # 运行单个程序
go test ./...                   # 运行全部测试(部分练习阻塞/依赖环境,不保证全过)
go test ./testing/... -v        # 运行 testing 包及其子包测试
go mod tidy                     # 整理依赖

# Go projects——在 go/projects/<项目名>/ 各自目录下执行
go run .                        # 运行项目(按实际入口调整)
go mod tidy                     # 整理依赖

注意事项

  • 仓库无 CI、无 pre-commit hooks、无代码检查——每个程序自行保证可编译即可
  • 笔记和练习代码严格分离:程序相关说明写在程序目录的 README.md,系统性知识放 note/
  • .gitignore 已覆盖 Go 二进制、Dart/Flutter 构建产物、IDE 配置、操作系统文件
  • 编辑、暂存或提交代码、笔记、配置时留意真实数据库连接、用户名密码、令牌密钥、私钥、个人路径及意外二进制/生成物
  • 发现疑似真实敏感信息先暂停,只报告路径、行号和类型(不复述值),建议脱敏或移除、必要时轮换;演示占位值不算真实凭据,经用户确认无敏感风险后可继续