写作笔记之二:关于重写

最近这一个月, 我都在对《Redis使用教程》一书的书稿进行修正工作, 并对大量内容进行了重写。

写作中的重写和编程中的重构差不多, 都是为了提高内容的品质, 而在已有内容的基础上进行修正和改写。

对于技术图书的写作而言, 重写通常与经验以及技术升级有关, 本文接下来将分别对这两方面进行介绍。

因为经验累积而导致的重写

写作是一门非常需要经验的工艺, 作者在写作方面的功夫越深, 钻研的时间越长, 在写作技术和方法方面的积累也就越多, 而这种积累通常需要花费一定的时间才能有所长进。

以《Redis使用教程》为例子, 这本书最初的章节大概是在一年多之前写的。 因为我在这一年多以来写作《Redis使用教程》的过程中又积累了不少经验, 所以当我现在回过头去看一年多之前写的内容时, 就会发现很多内容都已经不再能够满足我的要求了, 因此对这些内容进行重写就成了自然而然的选择。

对于读者来说, 当他们看到一本书的时候, 这本书对于他们来说通常就是崭新的“第一版”。 但是对于作者来说, 在一本书正式出版之前, 为了让书本达到足够好的标准, 书本的内容通常都会经历好几次的重写。 因此从某种角度来说, 当一本书正式出版时, 它可能已经是这本书的“第二版”、“第三版”, 甚至更多。

因为技术升级而导致的重写

除了经验累积之外, 导致书本重写最常见的就是技术升级了。 技术图书的写作对象是某种技术或者某种软件, 而这些对象通常是会随着时间的流逝而变化的, 对于热门的技术来说, 更是如此。

还是以《Redis使用教程》为例, 在我刚开始写这本书的时候, Redis 的版本还是 3.0 , 那时 Redis 还只有无持久化、RDB 持久化和 AOF 持久化三种持久化模式, 所以我可能会在书本上写下“Redis只有三种持久化模式”这样的句子。 但是随着 Redis 4.0 的释出, Redis 又新增了一种 RDB-AOF 混合持久化模式, 因此上面的这段话就不再正确了。 为了修正这个问题, 我必须把上面的句子改为“Redis支持四种不同的持久化模式”, 并给书本加上关于 RDB-AOF 混合持久化模式的介绍内容。

技术升级一直以来都是技术图书写作的一大问题, 书中介绍的技术更新得越快, 作者对书本的重写工作就会越多, 在最极端的情况下, 图书的更新赶不上技术的更新也是有可能的, 不过作者一般都会尽量地避免这种情况发生, 毕竟谁都不会想让自己的书一出版就过时了。

最重要的是要懂得适可而止

作者在写作的时候, 通常都会希望在书里面把最好也最新的内容呈现给读者, 但时间总是有限的, 如果作者一味地追求完美, 不断地进行重写, 那么这本书就有可能永远都完成不了。

因此对于作者来说, 一个合理的做法就是在有限的时间里面, 创作出一本能够勉强地让自己满意的书, 然后在下一版中, 再对自己感觉不满意的地方进行修正。

就如云风大侠所言, 一个软件在她推出面世的时候, 总是充满了作者的遗憾以及各种不完美, 写书也一样。

黄健宏
2016.12.26