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

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

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

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

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

先让它运行

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

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

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

再让它正确

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

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

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

最后让它快速

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

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

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

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

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

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

FunSearch:利用大语言模型在数学科学领域探索新奇发现 [译]
回望我在谷歌的 18 年 [译]
提升软件工程效率的小技巧:留点悬念,让工作更流畅 [译]
大语言模型程序 [译]
能自我修复的代码是软件开发的未来 [译]
分享
Email 复制链接 打印
Share
上一篇 先行动起来,然后逐步改进,最终做到最好 [译]
下一篇 Meta 如何打造 Threads 的基础设施 [译]
发表评价

发表评价 取消回复

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

Please select a rating!

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

最近更新

OpenAI GPT-4.5 系统卡
强化 AI 学习
如何像人类一样进行代码评审(第二部分)
强化 AI 学习
模型即产品(The Model is the Product)
强化 AI 学习
使用大语言模型 (LLMs) 构建产品一年后的经验总结 [译]
强化 AI 学习

相关推荐

强化 AI 学习

Anthropic 如何构建 Artifacts [译]

宝玉的分享
强化 AI 学习

Meta 如何打造 Threads 的基础设施 [译]

宝玉的分享
强化 AI 学习

AI 如何影响科学?[译]

宝玉的分享
在 2024 年,人工智能在劳动力领域推动包容性方面将是最大的机遇之一(图片来源:Alamy)
强化 AI 学习

2024 年人工智能在职场发展的五大趋势 [译]

宝玉的分享
/ 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

标签

3D AI AIGC AI人像 AI创作小助手 AI工具 AI换脸 AI海报设计 AI生成视频 AI绘画 AI视频 AI设计 app图标 chatgpt DALL-E3 excel GPT meta Midjourney openai Pika prompt runway SDXL stable diffusion UI设计 专业 丛林 乐高 人像 人物 光晕 动物 吉卜力 咒语 图标设计 圣诞 壁纸 女性 奶牛 实验室 宠物 客厅 室内设计 家居 局部重绘 展台 山景 帅哥 建筑 建筑设计 影谱科技 微摄影 怪物 提示词 摄影 教程 新闻 日本排放核污水 早报 星光 枯木 植物 模特 水果 泳池 海报 海报设计 清华大学 温馨的家 游戏 游戏美术 炫光 炫彩 玻璃 白茶花 矢量插画 研究报告 破碎 科幻 穿搭 窗 美食 背景 节日 芭比 花 花卉 茶园一角 草原 荷兰奶源 表情包 赛博朋克 超现实主义 软件 运动 金毛 风景 食物 香水
Prompt 语宙Prompt 语宙
Follow US
© 2009-2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Welcome Back!

Sign in to your account

Username or Email Address
Password

忘记密码