# 编码规范 ## Shell 脚本规范 ### 基本原则 - 使用 `#!/bin/sh` 作为脚本头 - 遵循 POSIX shell 标准 - 避免使用 Bash 特定语法 ### 缩进与格式 - 使用 4 个空格缩进 - 每个代码块使用一致的缩进 - 长行使用 `\` 换行 ### 变量使用 - 使用双引号包裹变量:`"$VARIABLE"` - 避免未定义变量 - 使用 `${VARIABLE:-default}` 设置默认值 ### 示例 ```sh #!/bin/sh set -eu # 变量定义 P2POOL_VERSION="${1:-v4.9.1}" OUTPUT_DIR="${2:-./output}" # 函数定义 build_p2pool() { local arch="$1" local distro="$2" docker buildx build --pull \ --platform "linux/${arch}" \ --build-arg "P2POOL_VERSION=${P2POOL_VERSION}" \ --output "type=local,dest=${OUTPUT_DIR}" \ -f "docker/Dockerfile.${distro}" . } # 主逻辑 main() { build_p2pool "amd64" "alpine" } main "$@" ``` ## Docker 文件规范 - 遵循多阶段构建 - 尽量减少镜像层数 - 使用多架构构建 - 避免在构建过程中下载可变内容 ## Git 提交规范 - 使用清晰、简洁的提交信息 - 提交信息应描述**为什么**做这个改动 - 使用动词开头:添加(Add)、修复(Fix)、优化(Improve)等