Prompt 语宙Prompt 语宙
  • 首页
  • 语宙 AI 导航
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • 出海数字营销宝典
  • 社区
Search
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2024 Prompt 语宙. HalfPX. All Rights Reserved.
阅读: 追求高效的软件开发:先运行,再完善,最后加速 [译]
Share
登陆
通知 阅读更多
Font Resizer字体
Font Resizer字体
Prompt 语宙Prompt 语宙
Search
  • 首页
  • 语宙 AI 导航
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • 出海数字营销宝典
  • 社区
已有帐户? 登陆
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Prompt 语宙 > 强化 AI 学习 > 追求高效的软件开发:先运行,再完善,最后加速 [译]
强化 AI 学习

追求高效的软件开发:先运行,再完善,最后加速 [译]

宝玉的分享
最近更新: 2024年8月16日 下午6:16
SHARE

追求高效的软件开发:先运行,再完善,最后加速

我坚信 Kent Beck 提出的软件开发策略:先让软件运行起来,然后使之正确无误,最后提升运行速度。在软件行业,这种思路非常常见。我的理解是,我们应先确保最基础的解决方案能够解决当前问题,再考虑进一步的时间投入。

先让它运行

解决问题的方案并非总是完美的。这意味着可能会有较少的测试,性能不佳,甚至是代码写得不够优雅。有时,我们只需要证明问题是可以解决的,即便解决方案不够理想。

例如,在我开发的应用中,处理用户输入或导航时,我经常采用“先让它运行”的方案。我不完全依赖用户输入,而是直接编写我所需要的数据。我的目的是验证在理想情况下,应用是否能够正常工作。如果连这都做不到,那么在更复杂的边缘情况下,解决方案就更没有希望了。这时,我会专注于尝试其他方案,直到找到正确的解决方法。

将处于“先让它运行”阶段的代码部署到生产环境是风险很大的,我们都应该尽量避免这样做。如果你有一个持续集成(CI)系统来运行所有的测试,那么尝试这种“先让它运行”的代码也是可行的(最好在单独的分支上进行)。但是,测试这些代码在全面的测试套件中的表现是非常重要的。

再让它正确

当我们确认问题可以通过“先让它运行”的方案得到解决后,下一步就是让方案变得正确。这包括进行全面的测试、使用适当的语法、遵循良好的命名规范,并确保代码的可扩展性。

我们需要去除所有硬编码的数据,并考虑各种边缘情况。围绕代码进行全面的测试至关重要。在这一阶段,不要轻易相信任何测试,除非你亲眼看到测试因为正确的原因而失败。

到了“让它正确”的阶段末尾,我们的代码应该非常稳固。在向用户展示这些代码时,我们应该对其不会引入任何错误感到自信。到这一步,解决方案应该已经准备好投入生产使用了。

最后让它快速

最具挑战性的是“让它快速”阶段。在软件开发领域,我们往往缺乏足够的时间和资源来进行这方面的尝试。我们刚刚将一个经过“让它正确”阶段验证的解决方案部署到了生产环境,它已经为用户带来了价值,但我们还可以使其更优。不过,通常下一个 bug 或新功能的开发会更加紧迫。

假设我们有足够的时间和资源,我们应该不断思考如何重构代码,不断优化我们的解决方案。

“让它快速”听起来像是专注于性能或响应时间。一般人会想,“我怎样才能让代码运行得更快?”但这个阶段不仅仅关注性能。我们还应该考虑如何让代码更易于测试、更具可扩展性,以及如何使代码为用户带来更大的价值。性能固然重要,但这些其他方面同样重要。

有机会进行“让它快速”阶段的优化是一种特权,我们应该尽可能利用这个机会。改进现有代码与编写新代码同等重要。

最终,我们的目标是为用户提供最有价值的软件解决方案。“先运行,再完善,最后加速”的软件开发理念能够帮助我们达成这一目标。它让我们在处理更复杂的边缘情况之前,先选择一个更为简单的问题解决路径。“先运行,再完善,最后加速”为构建出色的代码提供了坚实的基础。

先让它运行,再让它正确,最后让它对用户更有价值。想要了解更多关于快乐路径编程的信息,请阅读我之前的文章《用快乐路径让编程更简单》。

Sora 的工作原理(及其意义) [译]
少读一些书,享受阅读的乐趣 —— 📚 新年计划,Goodreads 与多巴胺,以及如何避免对自己过度要求的建议 [译]
AlphaGeometry:一款具有奥林匹克水平的几何 AI 系统 [译]
NVIDIA 公布了到 2027 年的 GPU 和互连路线图 [译]
专注与心流:程序员生产力的权衡 [译]
分享
Email 复制链接 打印
Share
上一篇 先行动起来,然后逐步改进,最终做到最好 [译]
下一篇 Meta 如何打造 Threads 的基础设施 [译]
发表评价

发表评价 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Please select a rating!

Ad image
- 入群领取知识星球折扣卷, 仅剩99份 -
Ad imageAd image

最近更新

谷歌DeepMind发布BlenderFusion:AI+Blender融合,实现精准3D编辑与逼真图像合成
AI 工具 AIGC 资讯
阿里通义MirrorMe:AI音频驱动肖像动画框架,实时生成高保真虚拟人
AI 工具 AIGC 资讯
告别AI答一半就跑!开源神器「寸止」深度解析:智能拦截、记忆管理,打造永不中断的对话体验
AI 工具
智谱AI开源GLM-4.1V-Thinking:9B参数模型性能超越72B,视觉语言模型迎来‘思考’时代
AI 工具 AIGC 资讯

相关推荐

强化 AI 学习

商业报道记者指南 [译]

宝玉的分享
强化 AI 学习

AI 操作指南 [译]

宝玉的分享
图片说明:Uber 示例
强化 AI 学习

微服务的“死亡千刃” [译]

宝玉的分享
在火谷外安营扎寨
强化 AI 学习

数字游民三年记:我如何成为一名全职“漂流者” [译]

宝玉的分享
/ Prompt 语宙 /

Experience the limitless creative possibilities of generative AI and unlock new levels of innovation.

Quick Link

  • Remaker AI
  • BGRemaker 抠图Hot
  • AIGC 工具
  • Prompt 咒语生成器
  • 去水印工具

Support

  • Contact
  • Blog
  • Complaint
  • Advertise

标签

Agent AI AI Agent AIGC AI大模型 AI安全 AI工具 AI智能体 AI模型 AI绘画 AI编程 AI编程助手 AI编程模型 AI视频生成 AI音乐生成 Anthropic chatgpt Claude Claude Code DeepSeek Gemini GPT-5.3 Instant GPT-5.3-Codex-Spark GPT-5.4 MCP协议 meta Midjourney MiniMax MoE架构 MoE模型 openai prompt Qwen3 RAG SWE-Bench xAI 上海人工智能实验室 世界模型 人工智能 人物 代码生成 企业级AI 全模态大模型 具身智能 命令行工具 图像生成 图像生成模型 多智能体 多模态 多模态AI 多模态大模型 多模态模型 大模型 大模型应用 大语言模型 字节跳动 小红书 展台 开源 开源AI 开源AI工具 开源大模型 开源工具 开源平台 开源框架 开源模型 开源项目 强化学习 微软 扩散模型 教程 数字人 文本转语音 早报 昆仑万维 智谱AI 月之暗面 本地部署 清华大学 知识管理 科大讯飞 端侧AI 美团 腾讯 腾讯混元 自然语言处理 英伟达 蚂蚁集团 视觉语言模型 视频生成 视频生成模型 语音合成 谷歌 谷歌AI 谷歌DeepMind 通义千问 阶跃星辰 阿里通义 面壁智能 香港大学
Prompt 语宙Prompt 语宙
Follow US
© 2009-2026 Prompt 语宙. Paooo.com. All Rights Reserved.