Skip to content

L15. 核心模块开发 (2):业务逻辑的大脑

Vibe Coding 宣言:逻辑是程序的灵魂。没有逻辑的代码,只是一堆字符的堆砌。

0. 为什么这一课至关重要? (Why It Matters)

  • 核心竞争力:数据谁都能抓,存储谁都能存。唯独“怎么处理数据”是你的独特价值(Business Logic)。
  • 算法不是魔法:其实就是一堆 if-elsefor 循环的组合。别被这个词吓到了。
  • AI 的强项:你只要描述清楚规则(Rules),Claude 能写出比你严谨得多的逻辑代码。

1. 目标 (Goal)

编写 Service Layer (业务层) 代码,实现比价、排序、推荐等核心算法。

2. 核心概念/装备/指令 (The Core)

2.1 业务逻辑 (The Rules)

比如:

  • 比价:找出最低价。
  • 过滤:排除评分低于 4.0 的店铺。
  • 推荐:根据用户的历史记录推荐相似商品。

2.2 函数式编程 (The Tool)

  • Map:对每个元素做同样的事。
  • Filter:筛选符合条件的元素。
  • Reduce:把一堆元素变成一个结果(求和、求最大值)。

3. 实战演练 (Action)

Step 1: 定义核心算法 (Algorithm)

假设我们要实现“找出性价比最高的商品”。 公式:性价比 = (评分 * 权重) / 价格

Step 2: 让 Claude 实现 (Implementation)

新建 service.py

markdown
# Context
我有以下商品数据:
[
    {"name": "A", "price": 100, "rating": 4.5},
    {"name": "B", "price": 200, "rating": 4.8},
    {"name": "C", "price": 50, "rating": 3.0}
]

# Task
请写一个函数 `find_best_value(products)`
1. 计算每个商品的性价比分数 (Score = Rating / Price * 100)。
2. 按分数降序排列。
3. 返回分数最高的商品。

Step 3: 增加复杂度 (Complexity)

如果要考虑运费呢?如果要考虑优惠券呢? 告诉 Claude 新的规则:

markdown
# Update
现在每个商品多了一个字段 `shipping_fee`
请修改算法:`实际价格 = price + shipping_fee`

4. 常见问题 (FAQ - Vibe Style)

Q: 算法太慢怎么办? A: 先跑通,再优化。 现在的计算机很快,几千条数据根本不是事儿。等有了 100 万条数据再说。

Q: 逻辑太复杂,写不出来? A: 画流程图! 如果你画不出来,就说明你没想清楚。先去把流程图画清楚,再让 Claude 写。

Q: 浮点数计算不准确? A: 用 Decimal。 0.1 + 0.2 != 0.3 是计算机的经典坑。涉及到钱,一定要用 decimal 模块。

5. 验收标准 (Definition of Done)

  1. service.py 中有一个核心函数(如 calculate_price)。
  2. 输入一组测试数据,输出的结果符合预期(性价比最高的那个)。
  3. 处理了异常情况(如价格为 0)。

Next Mission: L16. 核心模块开发 (3):数据的归宿

基于 Claude Code 构建