162 lines
4.9 KiB
Markdown
162 lines
4.9 KiB
Markdown
# Glue Coding Methodology
|
|
|
|
## **1. Definition of Glue Coding**
|
|
|
|
**Glue coding** is a new type of software construction method, whose core idea is:
|
|
|
|
> **Almost entirely reusing mature open-source components, combining them into a complete system with minimal "glue code".**
|
|
|
|
It emphasizes "connecting" rather than "creating", and is particularly efficient in the AI era.
|
|
|
|
## **2. Background**
|
|
|
|
Traditional software engineering often requires developers to:
|
|
|
|
* Design architecture
|
|
* Write logic themselves
|
|
* Manually handle various details
|
|
* Reinvent the wheel
|
|
|
|
This leads to high development costs, long cycles, and low success rates.
|
|
|
|
However, the current ecosystem has fundamentally changed:
|
|
|
|
* Thousands of mature open-source libraries on GitHub
|
|
* Frameworks covering various scenarios (Web, AI, distributed, model inference...)
|
|
* GPT / Grok can help search, analyze, and combine these projects
|
|
|
|
In this environment, writing code from scratch is no longer the most efficient way.
|
|
|
|
Thus, "glue coding" has emerged as a new paradigm.
|
|
|
|
## **3. Core Principles of Glue Coding**
|
|
|
|
### **3.1 If it can be avoided, don't write it; if it can be minimized, minimize it.**
|
|
|
|
Any function with a mature existing implementation should not be reinvented.
|
|
|
|
### **3.2 If it can be copied and pasted, copy and paste.**
|
|
|
|
Directly copying and using community-tested code is a normal engineering process, not laziness.
|
|
|
|
### **3.3 Stand on the shoulders of giants, rather than trying to become a giant.**
|
|
|
|
Utilize existing frameworks, rather than trying to write a "better wheel" yourself.
|
|
|
|
### **3.4 Do not modify the original repository code.**
|
|
|
|
All open-source libraries should remain as immutable as possible, used as black boxes.
|
|
|
|
### **3.5 Minimize custom code.**
|
|
|
|
The code you write only serves for:
|
|
|
|
* Combination
|
|
* Calling
|
|
* Encapsulation
|
|
* Adaptation
|
|
|
|
This is the so-called **glue layer**.
|
|
|
|
## **4. Standard Process of Glue Coding**
|
|
|
|
### **4.1 Clarify Requirements**
|
|
|
|
Break down the system's functionalities into individual requirements.
|
|
|
|
### **4.2 Use GPT/Grok to Decompose Requirements**
|
|
|
|
Let AI refine requirements into reusable modules, capabilities, and corresponding subtasks.
|
|
|
|
### **4.3 Search for Existing Open-Source Implementations**
|
|
|
|
Utilize GPT's internet capabilities (like Grok):
|
|
|
|
* Search for corresponding GitHub repositories based on each sub-requirement
|
|
* Check for reusable components
|
|
* Compare quality, implementation methods, licenses, etc.
|
|
|
|
### **4.4 Download and Organize Repositories**
|
|
|
|
Pull selected repositories locally and categorize them.
|
|
|
|
### **4.5 Organize by Architectural System**
|
|
|
|
Place these repositories into the project structure, for example:
|
|
|
|
```
|
|
/services
|
|
/libs
|
|
/third_party
|
|
/glue
|
|
```
|
|
|
|
And emphasize: **Open-source repositories, as third-party dependencies, must absolutely not be modified.**
|
|
|
|
### **4.6 Write the Glue Layer Code**
|
|
|
|
The glue code's functions include:
|
|
|
|
* Encapsulating interfaces
|
|
* Unifying input and output
|
|
* Connecting different components
|
|
* Implementing minimal business logic
|
|
|
|
The final system is composed of multiple mature modules.
|
|
|
|
## **5. Value of Glue Coding**
|
|
|
|
### **5.1 Extremely High Success Rate**
|
|
|
|
Because it uses community-verified mature code.
|
|
|
|
### **5.2 Extremely Fast Development Speed**
|
|
|
|
A large number of functionalities can be directly reused.
|
|
|
|
### **5.3 Reduced Costs**
|
|
|
|
Time costs, maintenance costs, and learning costs are significantly reduced.
|
|
|
|
### **5.4 More Stable System**
|
|
|
|
Relies on mature frameworks rather than individual implementations.
|
|
|
|
### **5.5 Easy to Extend**
|
|
|
|
Capabilities can be easily upgraded by replacing components.
|
|
|
|
### **5.6 Strong Synergy with AI**
|
|
|
|
GPT can assist in searching, decomposing, and integrating, serving as a natural enhancer for glue engineering.
|
|
## **6. Glue Coding vs. Traditional Development**
|
|
|
|
| Project | Traditional Development | Glue Coding |
|
|
| ----------- | ----------------------- | --------------- |
|
|
| Feature Implementation | Write yourself | Reuse open-source |
|
|
| Workload | Large | Much smaller |
|
|
| Success Rate| Uncertain | High |
|
|
| Speed | Slow | Extremely fast |
|
|
| Error Rate | Prone to pitfalls | Uses mature solutions |
|
|
| Focus | "Inventing wheels" | "Combining wheels" |
|
|
|
|
## **7. Typical Application Scenarios for Glue Coding**
|
|
|
|
* Rapid prototyping
|
|
* Small teams building large systems
|
|
* AI applications/model inference platforms
|
|
* Data processing pipelines
|
|
* Internal tool development
|
|
* System Integration
|
|
|
|
## **8. Future: Glue Engineering Will Become the New Mainstream Programming Method**
|
|
|
|
As AI capabilities continue to strengthen, future developers will no longer need to write large amounts of code themselves, but rather:
|
|
|
|
* Find wheels
|
|
* Combine wheels
|
|
* Intelligently connect components
|
|
* Build complex systems at extremely low cost
|
|
|
|
Glue coding will become the new standard for software productivity.
|