我的软件北极星

Lobsters Hottest 新闻

摘要

作者提出了一套软件开发的优先级列表:对最终用户的有用性、正确性、可维护性和效率,认为所有工作都应致力于最大化用户效用。

<p><a href="https://lobste.rs/s/g6lkw1/my_software_north_star">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/03 21:49

# 我的软件北极星 来源:https://kristoff.it/blog/north-star/ 在我制作软件时,这是我的优先级排序列表: 1. **软件应对最终用户有用**,并努力成为**你能够爱上的软件**(https://softwareyoucan.love/)。 2. **软件应具有正确性**,因为故障软件会削弱用户能从中获得的实用性。 3. **软件应具备可维护性和高效性**,以免在试图从中获取更多价值时浪费人力和计算资源。 如果你的区块链没有漏洞,但它是一场“抽地毯”骗局¹(https://kristoff.it/blog/north-star/#fn-1),那也无济于事。 如果你的语言是**内存安全**的(https://joshlf.com/posts/memory-safety-life-and-death/),但你并未**为正确性而设计**(https://tigerstyle.dev/),也没有一个能最终**修复所有漏洞**的过程(https://kristoff.it/blog/fix-your-asserts/),那也毫无意义。 如果你的软件是一个**美丽的抽象层华盖**(https://www.youtube.com/watch?v=wo84LFzx5nI),但运行起来像坨屎,且无人能维护,更别提添加新功能了,那同样毫无意义。 *有时我会力竭,有时会走错路,有时还会故意绕道而行,但没人能骗我把次要的星星误认为真正的目的地:我确实关心自己的开发者体验,但仅仅局限于它帮助我交付更多你能够爱上、我和他人也能享受的软件这一精确范围内。* 最终目标是最大化对最终用户的实用性;其他一切的存在都是为了服务这一目标,而这正是我制作软件的北极星。

相似文章

快速软件,最佳软件

Hacker News Top

一篇论述快速软件对用户信任与满意度至关重要的文章,通过nvALT和Ulysses等示例,阐明了速度的优势以及缓慢的弊端。

迈向可理解的软件

Lobsters Hottest

本文批判了当前的编程实践和对大语言模型的依赖,反而主张通过更好的抽象、文档和软件栈来使代码更易于理解和维护。

当前最佳简单系统

Hacker News Top

Dan North 提出了“当前最佳简单系统”(BSSN)方法,作为软件开发中快速粗糙与过度工程之间的中间道路,提倡满足当前产品需求的简单性。

软件质量笔记

Hacker News Top

一篇关于软件质量的博客文章,探讨其定义、通用信号、益处及常见误解,认为质量是一个光谱,并且随着规模扩大而变得更加困难。