Cloudfunction template update - #218
Conversation
…cloudbase-examples # Conflicts: # cloudbaserun/sse-demo/app.py resolved by origin/master(远端) version
|
以下是对 PR #218( PR 概览
这是一次什么变更?一句话概括:对 作者在 PR body 中只写了一句话"更新全部的函数模板",但从 diff 来看,这实际上是一次跨越 200+ 文件的工程级重构,核心动作有三: 1. 🗑 删除旧结构(~50 个旧文件被移除)所有旧式
2. ➕ 新增统一结构的 HTTP 函数模板(~150 个新文件)每个新增模板的目录结构统一为: 新增的 HTTP 函数模板清单(按语言):
3. 🔄 旧 Event 函数模板重命名为
|
| 文件 | 说明 |
|---|---|
cloudfunctions/README.md |
云函数示例集的根文档 |
cloudfunctions/template-info.csv |
模板元数据清单 |
cloudfunctions/scripts/ |
部署测试脚本、TEST_PLAN、测试矩阵 |
cloudfunctions/templates-sync/ |
模板同步工具链(pull/push/构建/标题规范化等) |
.gitignore |
新增忽略 .codebuddy/ 和 .vscode/ |
问题清单(Code Review 要点)
⚠️ 问题 1:二进制文件和构建产物被提交
严重等级:高
以下文件不应进入版本控制:
http-go-gin/main、http-go-helloworld/main(Go 编译产物)http-java-helloworld/app.jar、http-java-springboot/app.jar(Jar 包)http-java-*/target/目录下的所有.jar、.original、.class、Maven 状态文件
建议:删除这些文件,更新 .gitignore,让用户自行 build.sh 编译。
⚠️ 问题 2:模板代码是否可运行?
PR 没有说明这些新模板是否经过部署验证。建议:
- 至少对每个语言的 Hello World 模板进行端到端部署测试
- 在
TEST_PLAN.md中有提到测试矩阵,但 PR 本身没有关联测试结果
⚠️ 问题 3:NestJS / SSE 模板缺失源代码
http-nodejs-nestjs/ 和 http-nodejs-sse/ 下面只有元数据配置,没有 index.js / package.json / scf_bootstrap 等运行所需文件。不完整。
⚠️ 问题 4:hono-template 被整体删除但新增了 scf-nodejs-hono-template
hono-template/en/ 被删除,新增了 scf-nodejs-hono-template/。但是 Hono 是一个有实际价值的框架,旧版 hono-template 有完整源码,新版只有配置模板。建议保留完整的 Hono 示例源码。
⚠️ 问题 5:旧模板 scf-* 被删除但有些可能有用户依赖
如 scf-go-helloworld、scf-java-helloworld 等被整体替换为 http-*-* 模板。接口签名是否兼容?需要评估对现有用户的破坏性。
⚠️ 问题 6:PR 说明过短
Body 只有"更新全部的函数模板"一句话。这么大的变更(+19k / -2k lines)缺少:
- 变更动机说明
- 破坏性变更清单
- 迁移指南
总结
| 维度 | 评价 |
|---|---|
| 变更意图 | ✅ 好——统一模板结构,多语言覆盖,加入部署配置 |
| 工程质量 | |
| 完整性 | |
| 可维护性 | ✅ 引入 templates-sync/ 工具链,正向 |
| 兼容性 | |
| 沟通 | ❌ 描述太简略,缺少 context |
建议操作: 要求作者修复二进制文件问题、补全缺失的模板源码,并补充 PR 描述说明变更动机和迁移影响,然后再进行合并。
|
P0 — 部署会挂 / 明显错误
P1 — 配置/文档不一致,容易配错
P2 — 工程质量
|
更新全部的函数模板