写作笔记之二:关于重写¶
最近这一个月, 我都在对《Redis使用教程》一书的书稿进行修正工作, 并对大量内容进行了重写。
写作中的重写和编程中的重构差不多, 都是为了提高内容的品质, 而在已有内容的基础上进行修正和改写。
对于技术图书的写作而言, 重写通常与经验以及技术升级有关, 本文接下来将分别对这两方面进行介绍。
因为经验累积而导致的重写¶
写作是一门非常需要经验的工艺, 作者在写作方面的功夫越深, 钻研的时间越长, 在写作技术和方法方面的积累也就越多, 而这种积累通常需要花费一定的时间才能有所长进。
以《Redis使用教程》为例子, 这本书最初的章节大概是在一年多之前写的。 因为我在这一年多以来写作《Redis使用教程》的过程中又积累了不少经验, 所以当我现在回过头去看一年多之前写的内容时, 就会发现很多内容都已经不再能够满足我的要求了, 因此对这些内容进行重写就成了自然而然的选择。
对于读者来说, 当他们看到一本书的时候, 这本书对于他们来说通常就是崭新的“第一版”。 但是对于作者来说, 在一本书正式出版之前, 为了让书本达到足够好的标准, 书本的内容通常都会经历好几次的重写。 因此从某种角度来说, 当一本书正式出版时, 它可能已经是这本书的“第二版”、“第三版”, 甚至更多。
因为技术升级而导致的重写¶
除了经验累积之外, 导致书本重写最常见的就是技术升级了。 技术图书的写作对象是某种技术或者某种软件, 而这些对象通常是会随着时间的流逝而变化的, 对于热门的技术来说, 更是如此。
还是以《Redis使用教程》为例, 在我刚开始写这本书的时候, Redis 的版本还是 3.0 , 那时 Redis 还只有无持久化、RDB 持久化和 AOF 持久化三种持久化模式, 所以我可能会在书本上写下“Redis只有三种持久化模式”这样的句子。 但是随着 Redis 4.0 的释出, Redis 又新增了一种 RDB-AOF 混合持久化模式, 因此上面的这段话就不再正确了。 为了修正这个问题, 我必须把上面的句子改为“Redis支持四种不同的持久化模式”, 并给书本加上关于 RDB-AOF 混合持久化模式的介绍内容。
技术升级一直以来都是技术图书写作的一大问题, 书中介绍的技术更新得越快, 作者对书本的重写工作就会越多, 在最极端的情况下, 图书的更新赶不上技术的更新也是有可能的, 不过作者一般都会尽量地避免这种情况发生, 毕竟谁都不会想让自己的书一出版就过时了。
最重要的是要懂得适可而止¶
作者在写作的时候, 通常都会希望在书里面把最好也最新的内容呈现给读者, 但时间总是有限的, 如果作者一味地追求完美, 不断地进行重写, 那么这本书就有可能永远都完成不了。
因此对于作者来说, 一个合理的做法就是在有限的时间里面, 创作出一本能够勉强地让自己满意的书, 然后在下一版中, 再对自己感觉不满意的地方进行修正。
就如云风大侠所言, 一个软件在她推出面世的时候, 总是充满了作者的遗憾以及各种不完美, 写书也一样。