如何写出一本好书?

首先,我们要知道写书能给我们什么好处?第一能总结,第二能在此基础上不断提升,第三在找工作时帮助很大帮助。我知道有很多的朋友想出书,在本文里,我就来分享下两个话题,第一如何出书以及出书的各种细节,第二,如何写出有畅销资质的书。

1 写书对能力的要求未必像想象中那么高,更关键得靠长时间的毅力。
我记得看过一篇古文,叫《为学一首示子侄》。

其中讲了个故事,四川有两位和尚,一位贫穷一位富裕。穷和尚对富和尚说:“我想去南海。”富和尚说:“您凭借着什么去呢?”穷和尚说:“我只需要一个盛水的水瓶一个盛饭的饭碗就足够了。”富和尚说:“我几年来想要雇船去,尚且没有成功。你凭借着什么去!”到了第二年,穷和尚从南海回来了,把到过南海的这件事告诉富和尚。富和尚的脸上露出了惭愧的神情。

我们在招募潜在作者时,不少作者都会说能力不够而拒绝写书,诚然,写书的前提是对这方面的能力要有所了解,否则会误人子弟,但绝非要到成为大牛级别才能写。

一般来说,如果要写案例类书,作者需要有大致2年的相关经验,写经验类书,需要有4年左右相关经验。虽然经验是×××,但即使感觉经验能力不够,可以通过努力勤奋来弥补。

很多作者再开始准备目录和样章时感觉太难了,就中途放弃了。出书开始容易结束难,这话怎么讲:给我们选题大纲和样章后,一般都能开始写,但很多作者(至少7成)写着写着,或者因为工作太忙,或者因为感觉无法把握内容,或者干脆热度过后不想写了,就半途而废了。所以如果大家确实想出书,而且得做好之后至少6个月内吃苦的准备,然后再开始写,否则会耽误自己和编辑的时间。

2 如何准备选题
在写作前需要列大纲,也就是书的目录,通过这个步骤,可以大致规划下书的内容。这里给出些不同种类书大纲的列法。

1 案例类书,比如讲python机器学习,那么可以在前几章讲概念和一些准备知识,后面一章一个案例,然后每章按案例展开。像这类案例书,着重的是对案例的讲述,比较适合新手作者。

2 系列地讲述某个方面的知识,比如讲述spring cloud,或高并发网站架构。

在这类书的大纲里,每个章节讲述的这系列中某个方面的知识,比如像spring cloud,其中分ribbon,hystrix等,那么每个章节就可以讲具体的一个组件,然后在每章里,用2级或3级目录再细化地讲述该组件的知识点。

3 前瞻性书,比如当市面上还没有机器学习类经典书时,某位大神来一本,这类书就没什么条条框框了,一般就按大神的思路来写。

在计划写书后,一定得列出本书的选题,这样就能看出这本书所需要的时间了,写书前,最好在这个领域的每个方面都积累些知识,比如收集些案例,或者至少知道这部分的知识点该从哪里获取。

3 找好的图书策划公司

我们的作用有些像找工作时的猎头,第一知道出版的渠道比较多,第二往往知道新手作者写书的坑,所以会有针对性的帮助。毕竟新手作者在入门时,可能两眼一抹黑,不知道该怎么办。这时候有位能指导的人,对自己的帮助就很大了。

如果直接去找出版社的编辑,中间就少了个渠道,但出版社的编辑一般直接让作者填选题单,其中要包括大纲,本书特色等内容,这时如果是新手作者,要列出符合要求的选题单和大纲,那可能就有些难度的。

4 写书就得写畅销书,别敷衍
我见过不少作者,他们一旦打定主意开始写书了,就真的是全力以赴,往畅销书的方向努力了。

一本书是否畅销,得靠推广等手段,得看市场,甚至得凭运气,但有一点很重要,内容得给力,如果是敷衍读者,那么读者一定不会买。

这里我们讲述下策划畅销书的一些要点。

1 挑选一个热门话题

话题可以是当前比较流行的,或者说,用得人比较多,这样潜在读者的群体就很大了,同时最好组合些热门元素,比如python加数据统计,python加机器学习,或者spring cloud加架构,又如java web框架加面试等。

选择时,别选太冷门的,也就是用得人比较少,一般来说,大家可以去看下市面上的招聘广告,哪些技能出现的频率较高,这方面一般就比较热门,大家就可以选这类话题。

2 选择读者群,然后有取舍地选择内容点

概括来讲,一边本可以面向零基础,或初学者(2年之内经验),或高级开发或测试(3年左右的),或资深开发或测试。

一般来说,面向初学者的书好写些,而面向高级或资深开发的书比较难写,因为其中得包含足够的经验。

这里想说的是,每个群体,都有足够多的人数,换句话说,面向任何人群,只要写好了,这本书照样可以畅销。

但新手作者往往会把握不好,明明想面向零基础,但写着写着,就想讲些只有高级开发才能掌握的技能,这就属于好心办坏事了,这就好比在小学的教材中过早提到高中的知识点,这往往会两头不讨好,而无法定位到某个具体的群体的后果是,写出来的书,四不像,结果谁都不会买。

3 内容上,一定得切合选中的读者群。

比如某本书讲spring cloud,是面向高级开发的,想让读者看好后能升级到架构,那么选内容时,就不能太简单,讲述时,一些基础知识可以少讲,而得选用些适用高级开发的内容,比如在讲其中Ribbon负载均衡时,可以加入架构师平时的项目经验,而没必要过多地讲述项目环境的搭建。

4 建议录制视频,毕竟在书里无法动态地给出案例演示,这时视频就更有吸引力了。

5 写畅销书的注意要点
其实写畅销书不容易,这里是给出一些作者的经验体会,更关键的还得靠作者自己不断摸索,但这些作者的体会一定能帮助到大家。

1 别大段地引用概念性文字,一般来说,如果1页内纯粹是文字,没图,没表格,没代码,这本书可能就很枯燥。如果大家要写畅销书,一定得结合图表代码来讲。

2 案例可以借鉴别人的,但一定得在自己理解的基础上改写,别就运行通了就直接用。

这里姑且不说版权问题,如果某段代码作者自己仅仅是运行通过,而不是自己理解,那么一定无法写清楚描述,这类书一定无法吸引到读者。

3 任何叙述性文字,文学功底未必好,但得保证无病句错别字,更重要的是,得在自己理解的基础上,用读者群能接受的方式讲述出来。

这就是所谓的用心,肯不肯写好是态度问题,而能不能写好是能力问题,只有态度好了,才能静下心来组织文字,从而让你的书能吸引读者。

4 可以采用如下的方法组织章节内容,比如要写spring cloud的书,其中要讲ribbon负载均衡,在这一章里,我可以先讲大致概念,再列ribbon的要点,比如负载均衡的策略,如何实施,以及如何同eureka整合,这就是一些二级目录,(比如1.1和1.2这些就算2级目录),在每个3二级目录里,再用3级目录来细化内容,比如在讲负载均衡策略时,可以用类似1.1.1之类的三级目录来讲述各类负载均衡的算法实现。

组织好之后,在每个三级目录里(也就是每个知识点),选用一定量的代码案例来演示,代码之后再用文字说明,这就是一般的写书思路。

6 新手作者可以通过写案例书练手
这里首先得说明,出版社对新手的要求不会降低,毕竟如果人家出了本质量不好的书,作者最多是少拿钱,出版社是亏钱了。这就导致新手作者在第一个选题和写第一本书时,会有些难度。

但之前就讲过,写书靠能力不假,更得靠毅力。对于新手作者来说,只要肯写,那么第一本书可以用案例书来练手。

这种书为什么适合新手作者?因为有案例,所以文字叙述量会少些,而且读者往往关注案例,对于案例说明文字,只要别太差就行。

这类书的策划和写作方式一般是:

1 找个用得比较多的技术,比如最近比较热门的机器学习,然后选个实施语言,比如python。

2 从各处找15个案例,请注意这里的案例是综合性案例,一个案例得包含10个左右的文件,能独立地实现一个功能,比如能实现分词统计等。这些案例一定别有版权问题,比如可以通过在自己理解的基础上适当改编。

3 往往案例准备全了,书就完成大半工作了,然后就对着案例写说明文字,最好是录个视频,告诉读者这个案例该如何搭建,如何运行。

希望这篇文章能给想出书和正在出书的作者一点帮助。有什么不明白的可以联系我。

原文地址:http://blog.51cto.com/13968676/2176494

时间: 2024-10-07 11:45:17

如何写出一本好书?的相关文章

怎么写出一本程序员风格的修真小说?

(转) 终有一天我手中的编译器将成为我灵魂的一部分,这世界在我的眼中将被代码重构,我将看到山川无尽银河无垠都汇成二进制的数字河流,过往英雄都在我脑海眼前一一浮现,而我听到无数码农跪倒在我的程序面前呼喊. 他们叫我代码之神. 到那个时候,我想我一定可以找回你. 一丶这是一个属于代码的修真世界. 这世界里的每一个人,每一个东西,包括高山大海,刀剑风云,其本质都是一串数字流. 打个比方,如果你知道一块石头的内部数据结构,并且参透其中玄妙,你就能用程序改变它的一切.如果能参透自身这一个复杂的操作系统,就

异步4月新书,送出一本你爱的!

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书 --异步小编 4月工作日的第一天,小编带来了10本新书,包含关键词Python.神经网络.C语言.iOS开发.数据科学.git.OpenSctck.Joomla.Oracle等. <Python神经网络编程 > [英] 塔里克·拉希德(Tariq Rashid) 著 点击封面购买纸书 当前,深度学习和人工智能的发展和应用给人们留下了深刻的印象.神经网络是深度学习和人工智能的关键元素,

推荐一本好书给即将走入工作的程序员and程序媴

近期买了几本IT届推崇的经典书籍.当中有一本<程序猿修炼之道:专业程序猿必知的33个技巧>.由于这本比較薄,所以先翻着看. 这本书有别于其它的技术书籍,事实上算不上一本技术书籍.它不是教你怎么去提高编程,怎么去提高某方面的技术.我觉得这更像一本内功心法,教给你职场的一些软技能.强烈推荐给即将入职的朋友们.我好懊悔当初没有早点接触到这本书,曲曲折折走了不少弯路.如今读来,依旧感触体会非常深. 这本书很多其它的是告诉你,在工作岗位上怎样更有效的开展工作.当中有几点我想谈谈自己的看法. 拜师 基本每

【技能】使用纯CSS+html写出方向箭头,简单大方,好看

使用纯CSS+html写出方向箭头,贴出来就可以用,100%原创 <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <style type="text/css"> .pointsRule{ display: inline-blo

我的Java历程_写出这个数

lzJava基础进行中,今天偶然间看到的一个题目: 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字.如下代码: import java.util.*;public class Main2{ public static void main(String[] args){ String[] date = {"Ling", "Yi", "Er", "San", "Si", "Wu&q

代码示例:一些简单技巧优化JavaScript编译器工作详解,让你写出高性能运行的更快JavaScript代码

告诉你一些简单的技巧来优化JavaScript编译器工作,从而让你的JavaScript代码运行的更快.尤其是在你游戏中发现帧率下降或是当垃圾回收器有大量的工作要完成的时候. 单一同态: 当你定义了一个两个参数的函数,编译器会接受你的定义,如果函数参数的类型.个数或者返回值的类型改变编译器的工作会变得艰难.通常情况下,单一同态的数据结构和个数相同的参数会让你的程序会更好的工作. function example(a, b) { // 期望a,b都为数值类型 console.log(++a * +

写出一个缓存系统的伪代码001

/** * 写出一个缓存系统的伪代码 * @author ysloong * */ public class CacheDemo { private Map<String, Object> map = new HashMap<String, Object>(); public static void main(String[] args) { // TODO Auto-generated method stub } public synchronized Object getDat

如何写出优雅的CSS代码 ?(转)

对于同样的项目或者是一个网页,尽管最终每个前端开发工程师都可以实现相同的效果,但是他们所写的代码一定是不同的.有的优雅,看起来清晰易懂,代码具有可拓展性,这样的代码有利于团队合作和后期的维护:而有的混乱,虽然表达出了最终的效果,然而却晦涩难懂,显然团队成员在读这样的代码时就显得无从下手,更不利于后期的维护了.那么如何写出优雅的代码呢?下面我将以一个很小的项目就以下几个方面简单的表达一下自己的看法,如有不妥,望批评指正. 如何整理一个项目. 如何写出清晰易懂的HTML代码. 如何写出优雅的css代

Discuz论坛写出的php加密解密处理类(代码+使用方法)

PHP加密解密也是常有的事,最近在弄相关的东西,发现discuz论坛里的PHP加密解密处理类代码,感觉挺不错,在用的时候,要参考Discuz论坛的passport相关函数,后面我会附上使用方法,先把类代码帖上来: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?php /*