我如何快速构建软件

主要观点:软件开发需在时间和质量间平衡,分享了在小团队维护多年软件的经验教训。
关键信息:

  • “How good should this be?”:代码质量因项目而异,一般追求 8 分(良好且按时完成),要明确团队对“足够好”的标准。
  • 粗糙草稿:像写作一样,软件可从粗糙草稿受益,能揭示未知问题、避免过早抽象等,具体做法有聚焦关键决策、跟踪临时方案等。
  • 尝试改变需求:根据任务可软化需求,如合并屏幕、不处理棘手边缘情况等,也可推动组织向慢节奏转变。
  • 避免在代码中徘徊:设置定时器和结对编程可帮助保持专注,避免因分心而耽误任务。
  • 做小的更改:小而聚焦的更改更易编写、审查和回滚,能减少引入新 bug 的风险,且可逐步构建较大功能。
  • 有用的技能:阅读代码、数据建模、脚本编写、调试器使用、知道何时休息、偏爱纯函数和不可变数据、利用大语言模型等技能有助于快速开发软件。
    重要细节:
  • 以 24 小时游戏 jam 和 pacemaker 设备为例说明不同项目对代码质量的要求不同。
  • 粗糙草稿的特点包括有很多 bug、TODO 注释、未处理错误情况等,但能大致呈现良好解决方案的样子。
  • 具体的粗糙草稿做法如先搭建 UI 再写业务逻辑等。
  • 改变需求的具体问题如合并屏幕、简化 API 支持等。
  • 定时器可帮助避免分心,结对编程能保持专注。
  • 小更改的优势如减少认知负荷等。
  • 阅读代码有助于多种开发工作,数据建模能预防 bug,脚本编写可提高效率等。
阅读 11
0 条评论