2026/4/16 18:40:17
网站建设
项目流程
网站建设在哪块做,宁波企业自助建站,tug wordpress,网站建设需要学什么证我没有减少编码#xff0c;只是把重心从怎么写改成了写什么几个月前#xff0c;我突然意识到一个有趣的现象。当我在审阅同事提交的 Pull Request 时#xff0c;我发现#xff0c;这份代码的 80% 是由 Claude 和 Sonnet 生成的。但这不是重点。重点…我没有减少编码只是把重心从怎么写改成了写什么几个月前我突然意识到一个有趣的现象。当我在审阅同事提交的 Pull Request 时我发现这份代码的 80% 是由 Claude 和 Sonnet 生成的。但这不是重点。重点是——我对这份代码的信心反而比自己完全手写的代码更高。那一刻我明白了什么叫工作方式的转变。扎心真相敲代码从来都不是最难的作为一个在这个行业摸爬滚打的老兵我必须说出一个很多人都知道但不太愿意承认的事实。软件开发中最难的东西从来不是语法和敲键盘。真正需要拼脑力的部分是这些理解用户的真实需求——而不是他们说出来的需求️设计合理的系统边界——让今天的决策不会成为未来的债务抽象的合适程度——过度抽象和完全不抽象一样致命⚖️权衡各种约束条件——性能、可维护性、成本、时间预见系统六个月后的样子——并提前为其设计AI 的出现其实只是把这个本来就存在的真相彻底暴露了出来。不要误读80% AI 代码 ≠ 80% 偷懒在深入讨论之前我得先干掉几个误解。❌ 这个数字 不代表我盲目 copy-paste AI 的输出我不看就直接上线我不理解自己的代码我把责任外包给了机器我变成了一个提示词工程师✅ 这个数字 真正代表AI 负责实现细节我负责决策方向我对每一行代码都要承担责任我审查的代码比生成的代码还多我比以前拒绝更多的建议AI 是工具而不是替身一个恰当的比喻如果把 AI 比作一个开发者的话它就是┌─────────────────────────────────────────────┐ │ 一个能力强悍但上下文严重不足的实习生 │ │ │ │ 优点超快、不知疲倦、从不偷懒 │ │ 缺点不懂业务、不知道长期后果 │ │ 不清楚老板真实想法、无法做决策 │ └─────────────────────────────────────────────┘关键是给它明确的约束和边界它就能发挥极致。放任它自由发挥结果必然是一团糟。这才是真正的转变从写到设计在讨论 AI 如何改变我的工作方式之前你需要理解一个核心点。最大的变化不是谁来敲键盘而是谁来定义该敲什么。AI 超级擅长的事✅ 把一个想法展开成完整代码✅ 生成模板和重复代码✅ 按照清晰的指令工作✅ 学习和复制已有的代码模式AI 致命的弱点❌ 不知道你的业务背景❌ 看不出这个决策未来会带来什么麻烦❌ 不明白什么时候不应该抽象❌ 无法预判系统在真实运行中会面临什么挑战后者的这些事才是真正需要人类判断力的地方。我现在的工作流长什么样让我具体描述一下今天我怎么开发和三年前有什么不同。第一阶段设计系统架构这是不可替代的在我打开任何 AI 工具之前我会花时间回答这些问题系统设计清单 ├─ 数据流哪个模块拥有哪份数据 ├─ 边界这个模块的职责到底在哪里 ├─ 故障模式这个组件坏了系统会怎样 ├─ 演进性半年后如果要加功能麻不麻烦 └─ 可维护性下一个维护这块代码的人能理解吗这个阶段很像建筑里的出蓝图。图纸的质量直接决定了后续施工的质量。我通常会用 ASCII 图或简单的流程图把系统画出来列出模块间的依赖关系定义清晰的接口契约预设可能的故障场景和处理方式思考6 个月后的我会不会诅咒今天的我第二阶段让 AI 去填补细节高效且可控一旦架构图清晰了我才会转向 AI。但关键的是——我给的不是模糊的需求而是明确的约束。我不会问帮我写个用户认证系统我会问基于这个接口定义具体给出和这些错误处理规范具体给出实现这个特定的 OAuth 流程。不要添加任何额外的日志库所有日志用 console 替代。看到区别了吗第一个问题很容易生成出高度设计但不适合当前项目的代码。第二个问题能够精确控制输出。这个阶段AI 帮我实现 CRUD 端点零有趣度的工作写表单验证逻辑繁琐但简单生成 DTO 和数据模型模板化工作写单元测试的框架很多重复填补已有模式之间的空白工作流示意图 清晰的系统设计 ↓ 具体的接口定义 ↓ 明确的约束条件 ← (这些只有人能提供) ↓ ↓ AI 在这里工作 ↓ 生成代码 ↓ ↓ 人工审查 ↓ 决策把关 ↓ 高质量输出第三阶段不是检查语法而是系统级审查这里是最容易被人误解的地方。当我评审 AI 生成的代码时我完全不看语法对不对。那些事 linter 会检查。我在看的是抽象有没有泄露—— 这个模块暴露的 API 是否只是必要的部分还是把内部实现细节暴露了职责分配合理吗—— 这个操作该在 service 层还是 controller 层AI 往往会对这个搞混。错误处理现实吗—— 代码里 try-catch 的策略在真实运行时能用吗有没有忽视网络延迟、数据库超时这些东西会不会坑下一个维护者—— 这行代码虽然能用但看起来诡异会不会被别人误解而改坏性能有没有优化错的地方—— 有时 AI 会为了代码优雅而忽视性能或者过度优化不重要的地方。简单说AI 写的是可运行的代码但不一定是好代码。我的工作是确保它既可运行又不会变成系统的技术债。AI 真正擅长的领域不吹不黑让我们给 AI 点实实在在的掌声。它确实在某些地方表现得惊人。1. 样板代码和重复模式这些东西最浪费时间CRUD API 端点数据传输对象DTO表单验证逻辑模型 schema 定义重复的异步流程处理这些工作 AI 生成的代码我的拒绝率最低。为什么因为这些本来就没有聪明设计的空间就是按套路来。2. 把想法快速转换成代码我经常这样用 AI我的想法需要一个输入框用户停止输入 300ms 后才发送请求 如果用户继续输入就取消前一个请求。 我问 AI实现这个 debounce 模式用 AbortController 处理请求取消。 AI 的输出精准、可用、考虑周全的代码这种意图→代码的转换速度比我自己写快得多。我脑子里的想法往往不是一下子 100% 清晰的需要一边写一边调整。AI 能把这个迭代周期从 5 遍变成 1-2 遍。3. 快速探索多个方案我经常问 AI你有什么办法实现「分页 API 客户端」这个功能 给我展示三种不同的架构方向。然后 AI 会在 2 分钟内给出三个方案有各自的 trade-off。我可以快速比较选择最合适的。如果自己从零想可能需要 20 分钟才能想清楚这三个方案的区别。AI 永远无法胜任的这就是你的护城河这是区分被淘汰的开发者和越来越值钱的开发者的分界线。1. 业务背景理解AI 能学你的代码但学不了你的用户真正想要什么而不是产品经理说的你公司的法律约束某些数据不能这样处理你的组织文化和技术品味为什么上一任架构师会这样设计这些需要在团队里摸爬滚打才能理解。2. 长期系统设计AI 总是局部优化。开发者需要全局思考。你需要预见这个抽象方式6 个月后加新功能时会不会成为瓶颈这个依赖库现在很火但如果被收购了怎么办这个快速方案省了 2 天开发时间但赠送了 2 个月的技术债AI 看不到这些。这种远期视野来自无数次踩坑的经验。3. 判断什么时候不应该做这是最高级的判断力。一个初级开发者的答案是行或不行。 一个高级开发者的答案是现在不行但这样可以。AI 永远只会说可以。 真正的价值是知道什么时候说不需要、太复杂、这会卡你未来的手脚。常见的不应该场景 ❌ 不要为暂时用不上的功能提前泛化 ❌ 不要引入能用但学习成本高的库 ❌ 不要在性能瓶颈真正出现之前优化 ❌ 不要为了代码漂亮而增加复杂度 ❌ 不要让一个微小功能引入新的外部依赖这些判断需要品味、直觉和恐惧对未来代码债的恐惧。AI 使用者和非使用者能力差别在哪儿这是个容易被误读的问题。人们通常问AI 是不是会让程序员贬值我的答案是AI 削平了技能分布的下半段但抬高了上半段的天花板。让我画个对比图┌─────────────────────────────────────────────────────────────┐ │ 3 年前的技能分布 │ │ │ │ 天才 超强 优秀 中等 初级 │ │ ◢▀▀▀▔ ◢▀ ◢▀ ◢▀ ◢▀▀▔▔▔▔▔▔▔ │ │ ▐ │ │ ▐ 这段区间靠打字速度和细节处理能力拉开差距 │ └─────────────────────────────────────────────────────────────┘ ┌─────────────────────────────────────────────────────────────┐ │ 今天的技能分布 │ │ │ │ 建筑师 系统 设计 实施 模板 │ │ 思维 思维 思维 思维 工人 │ │ ◢▀▀▔ ◢▀ ◢ ◢ ▔▔▔▔▔▔▔ │ │ ▐▐ │ │ ▐▐ 这段区间缩小因为 AI 可以快速生成 │ │ ▐▐ │ │ ▐▐ 顶端差距扩大因为设计能力无法被 AI 替代 │ └─────────────────────────────────────────────────────────────┘换句话说初级开发者能更快地生成工作代码但判断能力没变反而更容易骄傲自满中级开发者能把更多精力放在架构和设计上反而升级更快高级开发者能把 10% 的时间用来审查90% 的时间用来思考效率翻倍**差别不是会不会用 AI而是有没有能力有效地利用 AI 的输出**。在我们公司的实际场景我在一个项目中整个前端模块大概 5000 行代码。其中大约 3500 行是 AI 生成的。但这 3500 行的质量取决于系统设计的清晰度人做的接口定义的精确度人做的错误处理的策略人做的性能指标的界定人做的代码审查的严谨度人做的如果这 5 个环节任何一个人做得不好3500 行看似优雅的代码就会成为灾难。我们团队的做法是产品经理提需求 ↓ 工程师出方案设计纯手工 ↓ 定义数据结构和 API纯手工 ↓ 列出关键的错误场景纯手工 ↓ AI 生成实现代码 ↓ 三个工程师轮流审查手工 ↓ 自动化测试通过机器 ↓ 小范围灰度上线 ↓ 监控指标机器 人工在这个流程里AI 承担的只是第 5 个环节。其他 9 个环节没有 AI人工成本反而更高。一个我强烈推荐的心态转变如果你现在还在纠结我该不该用 AI 写代码我给你一个简单的框架┌──────────────────────────────────────────┐ │ AI 适合 加法 │ │ - 把一个想法展开成完整的代码 │ │ - 快速试错和探索方案 │ │ - 批量生成样板代码 │ └──────────────────────────────────────────┘ ↓ ┌──────────────────────┐ │ 人类适合 减法 │ │ - 删除不必要的代码 │ │ - 化简过度设计 │ │ - 提炼核心思想 │ │ - 找出隐藏的耦合 │ └──────────────────────┘最终代码的质量来自于AI 添加的量 × 人类删除掉的垃圾的比例。如果你只会用 AI 来加完全不知道怎么减那你生成的代码会越来越臃肿。我看到很多团队在犯的错错误 1把 AI 输出当成差不多可以这是最致命的态度。AI 代码通常表面上看起来没问题语法正确逻辑通顺某些设计模式用得还不错但往往暗藏着过度抽象为了代码优雅多余的依赖因为 AI 学的代码库就用这个不够清晰的错误处理AI 的模板式处理忽视的边界场景因为你没有明确指出的解决办法激进地审查狠狠地删除冗余代码。我通常会把 AI 生成的 200 行代码压缩到 80 行。这个删除的过程才是真正增加代码质量的时候。错误 2让 AI 来决定架构这是完全倒过来了。很多人的工作流是我想要一个聊天系统AI 你帮我设计一下架构这会导致什么AI 会给你一个标准教科书架构——看起来合理但对你的业务背景一无所知。结果就是在做 6 个月后你会发现某个关键的决策当初做反了。正确做法人类设计架构AI 来实现。错误 3拿代码行数来衡量生产力这是最老但最顽固的错误。我用 AI 一天写了 5000 行代码然后呢是高质量代码还是高债务代码是解决了真实问题还是制造了新麻烦真正的生产力指标应该是解决了多少用户问题系统的故障率有没有下降代码有没有变得更容易维护新需求来临时需要修改多少地方这些东西没有一个和代码行数成正比。开发者的特殊处境我专门想说一下国内的情况。在字节、阿里这样的大厂这个转变正在悄悄发生但很多开发者还没反应过来。国内的情况是一线大厂正在大规模使用 AI 编程。Code Review 的标准也在调整从代码写得漂不漂亮转向架构思路合不合理。二三线公司还在用产出代码行数衡量效率没有意识到这个游戏规则已经变了。初创公司反而在快速迭代中受益最大因为不用担心技术债的长期后果。我的建议如果你现在在一个还在用旧思维评估效率的公司这是你展示新能力的机会。你可以保持原有的代码产出速度用 AI 帮忙把节省下来的时间用在系统设计和代码审查上逐渐体现出架构设计能力的价值等到公司也开始用 AI 的时候你已经是团队里最会用 AI 的人了关键认知责任并不会减轻反而更集中这个很重要必须说清楚。假设 AI 生成的代码导致了一个线上 bug这不是AI 的责任AI 不会被问责这不是工具的问题工具本身没错误这是你的责任你审查并上线了它责任流向 AI 生成代码 → 你审查了吗 ← 你的责任开始了 ↓ 你理解了吗← 不理解就不该上线 ↓ 你测试了吗← 这个逃不掉 ↓ 上线了 ↓ 出了问题 → 100% 你的责任使用 AI 不是在减少责任而是在集中责任。你不再为怎么打字负责但要为这段代码该不该存在负全责。从某个角度说难度上升了。结论我没有停止编码我只是改变了编码的方式今天的我比三年前写的代码行数更少。但是 设计 API 的时间更多 审查代码的时间更多 思考系统架构的时间更多 预见故障模式的时间更多️ 保护未来维护者的时间更多这些事加起来我对自己的代码的把握和信心比以前高了一倍。这不是一个AI 替代人类的故事而是人类学会了如何有效地利用工具的故事。一个硬核建议如果你没办法清楚地解释一段 AI 生成的代码在干什么那就别他TM的上线。这句话听起来像废话但我见过太多人违反这个规则。理解是最后一道防线。一旦你跳过了这道防线就意味着你对代码失去了控制权。如果这篇文章对你有启发我有三个请求点赞——算法公平的话这能帮助更多开发者看到这个视角留言分享你的想法——你现在用 AI 编程吗用的话你的工作流是什么样的遇到过什么坑关注《前端达人》——我每周都会更新更多像这样的硬核技术思考涵盖 React 深度、Web API、系统设计、职业发展等话题。在这个 AI 时代比拼的不再是敲代码的速度而是判断力和决策力。想要了解更多关于现代前端开发的最佳实践关注《前端达人》跟我一起探索 2026 年前端的新机遇。推荐给你的开发者朋友让更多人准备好迎接这个变化的时代。