163 lines
3.9 KiB
Markdown
163 lines
3.9 KiB
Markdown
TRANSLATED CONTENT:
|
||
# 胶水编程(glue coding)方法论
|
||
|
||
## **1. 胶水编程的定义**
|
||
|
||
**胶水编程(glue coding)**是一种新型的软件构建方式,其核心理念是:
|
||
|
||
> **几乎完全复用成熟开源组件,通过最小量的“胶水代码”将它们组合成完整系统**
|
||
|
||
它强调的是“连接”而不是“创造”,在 AI 时代尤其高效
|
||
|
||
## **2. 产生背景**
|
||
|
||
传统软件工程往往需要开发者:
|
||
|
||
* 设计架构
|
||
* 自己编写逻辑
|
||
* 手动处理各种细节
|
||
* 重复造轮子
|
||
|
||
这导致开发成本高、周期长、成功率低
|
||
|
||
而当下的生态已经发生根本变化:
|
||
|
||
* GitHub 上成熟的开源库成千上万
|
||
* 框架覆盖各种场景(Web、AI、分布式、模型推理…)
|
||
* GPT / Grok 能帮助搜索、分析、组合这些项目
|
||
|
||
在这种环境中,再从零写代码已经不是最高效的方式
|
||
|
||
于是,“胶水编程”成为一种新范式
|
||
|
||
## **3. 胶水编程的核心原则**
|
||
|
||
### **3.1 凡是能不写的就不写,凡是能少写的就少写**
|
||
|
||
任何已有成熟实现的功能,都不应该重新造轮子
|
||
|
||
### **3.2 凡是能 CV 就 CV**
|
||
|
||
直接复制使用经过社区检验的代码,属于正常工程流程,而非偷懒
|
||
|
||
### **3.3 站在巨人的肩膀上,而不是试图成为巨人**
|
||
|
||
利用现成框架,而不是试图自己再写一个“更好的轮子”
|
||
|
||
### **3.4 不修改原仓库代码**
|
||
|
||
所有开源库应尽量保持不可变,作为黑盒使用
|
||
|
||
### **3.5 自定义代码越少越好**
|
||
|
||
你写的代码只承担:
|
||
|
||
* 组合
|
||
* 调用
|
||
* 封装
|
||
* 适配
|
||
|
||
也就是所谓的**胶水层**
|
||
|
||
## **4. 胶水编程的标准流程**
|
||
|
||
### **4.1 明确需求**
|
||
|
||
把系统要实现的功能拆成一个个需求点
|
||
|
||
### **4.2 使用 GPT/Grok 拆解需求**
|
||
|
||
让 AI 将需求细化为可复用模块、能力点和对应的子任务
|
||
|
||
### **4.3 搜索现成的开源实现**
|
||
|
||
利用 GPT 的联网能力(如 Grok):
|
||
|
||
* 根据每个子需求搜索对应的 GitHub 仓库
|
||
* 检查是否存在可复用组件
|
||
* 对比质量、实现方式、许可证等
|
||
|
||
### **4.4 下载并整理仓库**
|
||
|
||
将选定的仓库拉取到本地,分类整理
|
||
|
||
### **4.5 按架构体系进行组织**
|
||
|
||
把这些仓库放置到项目结构中,例如:
|
||
|
||
```
|
||
/services
|
||
/libs
|
||
/third_party
|
||
/glue
|
||
```
|
||
|
||
并强调:**开源仓库作为第三方依赖,绝对不可修改。**
|
||
|
||
### **4.6 编写胶水层代码**
|
||
|
||
胶水代码的作用包括:
|
||
|
||
* 封装接口
|
||
* 统一输入输出
|
||
* 连接不同组件
|
||
* 实现最小业务逻辑
|
||
|
||
最终系统通过多个成熟模块组合而成
|
||
|
||
## **5. 胶水编程的价值**
|
||
|
||
### **5.1 极高的成功率**
|
||
|
||
因为使用的是社区验证过的成熟代码
|
||
|
||
### **5.2 开发速度极快**
|
||
|
||
大量功能可以直接复用
|
||
|
||
### **5.3 降低成本**
|
||
|
||
时间成本、维护成本、学习成本都大幅减少
|
||
|
||
### **5.4 系统更稳定**
|
||
|
||
依赖成熟框架而非个人实现
|
||
|
||
### **5.5 易于扩展**
|
||
|
||
通过替换组件就能轻松升级能力
|
||
|
||
### **5.6 与 AI 强配**
|
||
|
||
GPT 能辅助搜索、拆解、整合,是胶水工程的天然增强器
|
||
## **6. 胶水编程 vs 传统开发**
|
||
|
||
| 项目 | 传统开发 | 胶水编程 |
|
||
| ------ | ----- | ------ |
|
||
| 功能实现方式 | 自己写 | 复用开源 |
|
||
| 工作量 | 大 | 小得多 |
|
||
| 成功率 | 不确定 | 高 |
|
||
| 速度 | 慢 | 极快 |
|
||
| 错误率 | 容易踩坑 | 使用成熟方案 |
|
||
| 重点 | “造轮子” | “组合轮子” |
|
||
|
||
## **7. 胶水编程的典型应用场景**
|
||
|
||
* 快速原型开发
|
||
* 小团队构建大系统
|
||
* AI 应用/模型推理平台
|
||
* 数据处理流水线
|
||
* 内部工具开发
|
||
* 系统集成(System Integration)
|
||
|
||
## **8. 未来:胶水工程将成为新的主流编程方式**
|
||
|
||
随着 AI 能力不断增强,未来的开发者不再需要自己写大量代码,而是:
|
||
|
||
* 找轮子
|
||
* 组合轮子
|
||
* 智能连接组件
|
||
* 以极低成本构建复杂系统
|
||
|
||
胶水编程将会成为新的软件生产力标准
|