HN 写作课

工程师们二十年里聊过的写作。

工程师、作家、编辑和创业者在 Hacker News 上聊了二十年“怎么写”:怎么写得清楚、怎么讲好一个故事、技术文档怎么写、小说和出版是怎么回事。这里把其中关于写作与讲故事的帖子挑出来,配上中文导读、可以直接用的写作要点和评论翻译。

从必读开始
  • 2,600+篇关于写作的 HN 讨论

Writing tips

写作锦囊

正在抽一条写作要点…

Essential

必读 30 篇

在讨论库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读和写作要点。

  1. 正在载入…

Archive

讨论库

按发帖年份分布,点柱子筛选。

排序

    About

    这些讨论是怎么挑出来的

    1. 01

      从全量里捞

      读取 Hacker News 自 2006 年以来的全部帖子,用关键词先捞出 40 分以上、可能和写作有关的约 1.1 万篇。

    2. 02

      只留真正讲写作的

      由 AI 逐条判断是否和写作、讲故事、文风、出版有实质关系,剔除“写代码”“编辑器”这类字面撞车,并分进十个类别。

    3. 03

      提炼可用的要点

      为值得读的帖子写中文导读,提炼 2-4 条可以直接用到自己写作里的要点,并精选翻译 HN 高赞评论。内容由 AI 生成,可能有误。

    技术写作与文档2022reproof.app编辑精选

    先写文档,再动手开发

    Write documentation first, then build

    阅读原文 HN 讨论
    219HN 得分
    154条评论
    4条写作要点

    导读

    这篇博文主张「先写文档再动手实现」,把文档当作产品设计的先行稿。但评论区几条高赞回复提出了有力反驳:文中举的 VisiCalc、Nest 案例被指与史实不符,而「文档要写到什么程度、什么时候写」才是真正的分歧点。对写作者来说值得一读,因为它逼你思考:先写清楚在什么阶段、以什么粒度才真正有用。

    关键词 技术文档文档先行产品设计写作方法

    可以直接用的写作要点

    1. 01

      先写「骨架」而不是「全书」:先列出目标与关键特性的提纲,等产品定型后再补细节,避免写完就过时。

    2. 02

      引用案例前先核实:读者当场指出文中 VisiCalc、Nest 的例子与事实相反,论据一倒,整篇文章的可信度也会跟着受损。

    3. 03

      过时的文档比没有文档更有害——它会破坏读者信任,所以宁可写短、写可改,并及时更新或删掉。

    4. 04

      把写作量控制在能快速看到成效的最小范围,靠反馈维持写作动力,别让重复劳动消耗热情。

    HN 评论精选

    即兴动手更能保住动机,提前写完整文档往往与成品脱节。

    说不好。我开新项目往往是即兴的:有个想试的点子就直接动手。一边写代码打基础,一边考虑长远。先写文档、再在代码里重做一遍是双倍工作,极其低效,而动机很重要,重复并不有趣。大多数项目根本做不完,障碍总会有、有些还很难,光靠写文档你根本发现不了。而且提前写的文档很可能在第一版发布时就不符合最终产品了。有个包含关键特性的总体提纲没问题,但完整详尽的文档就过头了。这是我的一家之言:对单打独斗的开发者来说动机尤其重要,何况你可能好几年都不知道这东西有没有人用。如果有专人分工,情况大概不同。另外,不能拿成功企业反推说它们成功就是因为有份备忘录或文档,这太牵强了。

    lakomen查看英文原文

    I don't know... When I start something new it's often spontaneous. I have this idea I'd like to try and then I start hacking. And while I hack at the keyboard and create the basis I think of the long term. Having to do double work, write a document first and then repeat the same in code is extremely counterproductive. Motivation plays a big role. Repetition is not fun. Most projects never get finished. There are always obstacles and some are really hard. But you won't know them from writing documentation alone. And if you write documentation ahead of time it's very likely this documentation will not fit the final product, at 1st release time. Having a general outline with key features is ok. But fully-fledged documentation is over the top. That's my educated opinion at least. Motivation is very important for me, especially if I don't know for years if this thing I'm building will be used by people at all. Single developer. If there were dedicated people for tasks, that'd be different, probably. Also you can't take the established business and say they all had a memo or document and that's the reason why they succeeded. That's a really long shot, IMHO.

    文章开篇两个案例经不起核查,实际都是产品先行、文档在后。

    「VisiCalc 起于一页参考卡」似乎是假的。有资料说,他们是——如果某个功能没法在参考卡上解释清楚,就改代码,所以是代码在先。「Nest 温控器起于一份新闻稿」也不对:据我所知,产品是在一篇有可演示产品的 Verge 文章里公布的,成功秘诀是设计者做过手机。两例中真正的产品文档都是最后才有的,正如我们预料。所以文章一开头就是两记胡扯的重拳——好在他们至少把胡扯写下来了。

    drewcoo查看英文原文

    > VisiCalc started as a reference card. That appears to be false. This [1] tells how if they couldn't explain the feature on the reference card, they'd change the code. So the code came first. > The Nest thermostat started as a press release. From what I can tell, the product was announced in a Verge article[2] where there is a demo-able product. And the secret to their success, according to the article, was that it was designed by people who'd worked on phones. From what I can tell, actual product documentation came last in both cases, exactly as we'd expect. So the article starts with a double-barrel blast of bullshit. In the article's favor, they did write the bullshit down, though. [1] https://landley.net/history/mirror/apple2/implementingvisicalc.html [2] https://www.theverge.com/2011/11/14/2559567/tony-fadell-nest-learning-thermostat

    「先想再做」是老做法而非新主张,被污名化没有道理。

    绕了一圈又回到原点。2005 年我开始做职业软件开发时,行业就是这么建软件的,而做充分分析(业务、技术)的想法还更早。会觉得惊讶的,只有那些把「敏捷这碗汤」喝多了的人。我不是要黑敏捷、重开骂战(敏捷有它的价值),只是「先想再做」最近不知为何被污名化了。就像软件开发被困在马达加斯加系列里朱利安国王的脑子里:先干起来再说,别管它到底有没有意义。

    brzezmac查看英文原文

    So we have come full circle. That's the way we have been building software when I was starting with professional software development (this was around 2005). But the idea of doing a thorough analysis (business, technical) is a little bit older. The only people to whom this might come as a surprise are the ones who've drank too much of the "agile Kool-aid". I'm not here to bash agile and start this flame war all over again (agile has it's merits ...), but somehow thinking before doing got a bad rap recently (for reasons beyond me). It's like software development got trapped inside of King Julian's (from Madagascar movies/series) brain with his modus operandi: "let's start doing this before we figure out it does not make any sense".

    文档宜做成可改的骨架、随产品演化;过早完成不如晚成。

    文档应该从容易修改的粗糙骨架起步,随着产品逐渐定型再填充。因为系统在构建过程中会演化,一边演化一边不停同步文档,是件容易出错又烦人的苦差,不是人人都有耐心和勤勉。既然系统会随构建而演化,那么文档过早「完成」,最终准确度反而低于晚完成的版本。过时的文档常常有害且打击士气,因为它们破坏信任。

    daenz查看英文原文

    Docs should start out as a rough scaffolding that is easy to change, then filled in as the product anneals. The reason is that systems evolve as you build them, and constantly updating the docs to be consistent as the evolution occurs is an error prone chore that not everyone has the patience or diligence for. Assuming that your systems evolve as you create them, if you "complete" your docs too soon, you end up with less accurate docs than if you complete them later. Out of date docs are often harmful and demoralizing because they break trust.

    同类还值得读

    1. 编写更好文档的框架

      A Framework for Writing Better Documentation

      这是 Divio 的文档写作框架,把技术文档按「读者的目标」分成四类:教程(学习导向)、操作指南(问题导向)、参考(信息导向)、解释(理解导向)。

      技术写作与文档2021 · 637 分 · 76 评4 条写作要点编辑精选
    2. 写好一份设计文档

      Writing a good design document

      这篇 HN 帖子标题为《Writing a good design document》,主题是如何写好一份设计文档;对写作者来说,它值得作为技术写作和结构化说明文的参照。

      技术写作与文档2025 · 581 分 · 147 评3 条写作要点编辑精选
    3. 技术写作课程

      Technical Writing Courses

      这是 Google 官方免费技术写作课程(两门),讲受众定义、主动语态、短句、文档结构等基础方法。

      技术写作与文档2020 · 571 分 · 73 评4 条写作要点编辑精选
    4. 写出更好的错误信息

      Write better error messages

      这篇帖子讨论如何写出更好的错误信息,评论补充了开发者场景下的具体做法和真实反面案例。

      技术写作与文档2022 · 566 分 · 253 评4 条写作要点编辑精选
    5. 写一本技术书的经济账

      The Economics of Writing a Technical Book

      一位技术书作者拆解写书的真实经济账:版税收入往往远低于投入的时间成本。

      技术写作与文档2018 · 519 分 · 149 评4 条写作要点编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。