Using AI In Your Daily Dev Workflow
AI 不会取代你的工程判断力。它能帮助你更快地从陷入困境转向拥有多种选择。利用它来寻找替代方案。利用测试和评审来寻找真相。
以下是如何在不被炒作误导的情况下使用 AI。
- 寻找性能瓶颈
使用 AI 来识别常见问题,例如缓慢的数据库调用或庞大的 bundle size。向它询问:
- 需要捕获的指标,例如 RUM 或服务器耗时。
- 安全的实验方案,例如缓存或分页。
- 一份防止遗漏明显错误的检查清单。
- 生成测试用例
不要只写那些显而易见的测试。给 AI 一个函数签名或规范。要求它提供:
- 边界情况。
- 奇葩输入。
- 并发或竞态条件。
- 基于属性的测试(Property-based testing)思路。
这能提高代码的可靠性。
- 在约束条件下进行重构
不要说“把这个改好”。这太模糊了。使用具体的提示词:
- “在不改变行为的前提下降低圈复杂度。”
- “提取纯函数并使副作用显式化。”
- “保持公共 API 不变,但提高可读性。”
具体的约束条件能产生更好的结果。
- 请求包含丰富上下文的解释
当你提供细节时,AI 能帮你学得更快。可以问这类问题:
- “为什么这个 React render 在 StrictMode 下会触发两次?”
- “这个 SQL 查询计划的原因是什么?”
- “在这个特定的代码库中,我应该把这个校验放在哪里?”
即使答案并不完美,它也能为你指明正确的文档方向。
- 验证一切
遵循“先信任,后验证”的循环:
- 如果能编译通过,就进行测试。
- 如果涉及安全性,就进行两次评审。
- 如果它陈述了一个事实,就去核实来源。
AI 会犯错。你的流程必须确保这些错误能以极低的成本被发现。
A prompt template for better answers
在编写提示词时,请包含以下五个部分:
- 目标:你想要实现什么。
- 上下文:你使用的语言和框架。
- 输入:你的代码、日志或错误信息。
- 输出格式:列表、步骤或 diff。
- 约束条件:性能、可读性或不引入新的依赖。
Source: https://dev.to/imkrunal/using-ai-in-your-daily-dev-workflow-without-the-hype-57b1
