• 方法得当,写书是个体力活:写在我的书进重印2000册之时


        前一阵子,我朋友圈里,一位图书公司的编辑(编辑是尊称,按能力叫图书中介更恰当)发文征集Java基础书的作者,我想,我之前好歹也出Java书,手头有足够的素材,而且内容也正好对口,是面向初学者的,于是就写了份大纲发过去。

        之后半天没有回音,于是我主动去问,没多久,直接回复:“你的大纲不行”,惜字如金。再请教,终于肯赐下意见,内容不适合初学者,原因是编辑本人不熟悉Java,亲身体会,看了我的大纲没法让她理解。本人汗颜,不敢再请教,于是换了家国内某知名出版社直接联系,大纲略作微调后,签下约稿合同。

        合同签好后开始觉得庆幸,幸好本人之前也出过书,对这方面的需求也稍有了解,也认识了不少正规出版社的计算机图书编辑,否则这本书就悬了。但转又一想,那些已经被该位中介指导过的朋友,如果也是第一次写,也遇到类似情况,会不会就此罢手呢?

        出书虽然钱不多,但毕竟能对之后找工作、拓展自己影响力乃至出挣钱的视频教程有很大的帮助。博客园里藏龙卧虎,我经常看到有大牛晒自己的书,我也相信有更多的朋友想出一本属于自己的书。所以在本人图书重印之时,结合多位资深编辑和畅销书作者经历,分享下高效写书的经验。读完后大家估计能感受到:“原来出书不难,大多数场景下是体力活”。

    1  先根据自己的能力选点,再根据读者群选面

        先思考两个问题。第一,要写哪方面?写自己最熟悉最擅长的方面。第二,要写这个领域的哪些内容?定读者群,定目标,之后就能知道该写哪些内容。 

        比如Java做了10年,那么可以写Java方面的书。再进一步,Java有核心,web框架,项目案例,架构师等方面的写作方向,该如何选择?就想,这本书该给哪些人群读?比如给零基础初学者读。再思考,读者读好后,能有哪些收获(这就是本书的价值)?能帮助零基础的毕业生或入门者能干些基本的Java项目。

        这样内容大纲就有方向了,目前在公司里,会基本java语法加数据库操作加简单的web ssm框架就能干活,那么就写这些内容,而且写作方法也明确了,由于是面向初学者,所以可以描述基础知识,但绝对不能拘泥于语法,应当在书里穿插描述些0到2年开发会遇到的坑。

        或者,某牛人做了若干年Python数据分析的工作,这领域体会很深,想出本Python数据分析的书。然后再确定,这本书是针对有3年左右Python基础的,那么就可以思考下,3年经验的python开发离开资深python数据分析还有多少技术差距,这就是大纲里的内容。

    2  可以参考其它同类书来准备大纲

        如果大纲里的内容都自己列,那么很有可能因为闭门造车而导致市场不认可你的内容,所以在准备大纲时,可以到京东或当当等网站,查下目前市面上同类畅销书的大纲,因为这些大纲里的内容是被出版社和市场双重确认过。但参考绝对不是山寨,更不能原样照搬。

        比如要写一本Python入门书,读者群是零基础的毕业生,看了若干本目前畅销的书,发现其中都包含数据结构,语法异常处理,文件读写,基本库等方面的内容,外带介绍些基本的数据分析和图形界面的内容,这就是制定大纲的方向,…?书的内容也应当全面包含这些知识体系。换句话说,找三本同类书,列下章节全集,你要写的内容应该就在其中。

        但借鉴的同时要根据自己的情况做些微调,比如一些书里,在介绍字符串时,会全面给出相关的方法,这是别人书的特色,如果写作目的是能帮助读者干项目,所以不能过多拘泥语法,在字符串方面给出些项目里常用点即可。    

        这个时候,更多的就是考验作者的功力了,作者可以根据自己的体会,去掉些不适合当前读者群的内容,比如写数据分析方面的python入门书,图形界面这块可以略讲,或者,大多数python高级开发在进阶时,不会过多地用到list元组等数据结构里的API,只会用到些常用,那么你在准备大纲时,就可以只讲这些常用知识点。 

    3  定好大纲后,应当用个约稿合同来确认

        先定大纲还是先定约稿合同(或干脆出版合同),两者。。,,都行,但在正式开始写之前,应当用合同来确认,尤其对于入门作者而言,不建议写完全书后再去找编辑,因为这样最后的修改量会很大。

        出版社是会先在编辑会议上根据大纲等情况确定这本书是否能写,如果通过后则会和作者签合同,如果感觉需要修改,这时会把大纲返回作者让修改,修改后再评审。这个过程中,应当是最能体现出图书公司编辑水平。

        本人之前遇到一位很好的图书公司编辑,他会先把大纲修改意见先过一下,可改可不改的和编辑沟通,只把大纲里需要修改的点告诉我。但如果大家遇到的是图书中介,那么来回改吧,如果中介还对专业知识不了解,导致“传声筒”失真的话,那么这个过程会更加漫长。这方面给大家的建议是:

        1 如果对自己有信心,直接找出版社编辑,联系方式各官网上都有。

        2 如果第一次写,那么可以找图书公司的编辑,出钱买服务。但你感觉和你联系的中介水平一般,没法达到指导效果,或者你提交上去的大纲或稿件被反复要求修改,且其中一些点属于可改可不改的,那么可以换个图书编辑,或者干脆直接找出版社编辑。

        3 图书出版社的编辑在定约稿合同时,会充分考虑作者的时间和稿酬,而有些图书出版公司在这方面会卡得很严,原因大家都知道,遇到这种对自己可能不利的合同,宁可不签,或者直接找出版社签,毕竟现在图书作者不多。

    4  少堆砌理论,多用代码说明

        在定好合同后,就可以开始写了。比如这章要写Java多线程并发,该写哪些内容?多搜些相关资料,看别人怎么写,然后找些适合你书的内容。

        就拿线程池举例,可以列些常用参数,也可以通过案例说明线程池如何工作,可以再通过案例说明项目里线程池的用法。在多线程并发章节里,还可以照此写一些信号量,锁等知识点。在写的时候,别大段写理论,可以采用 具体而言,比如1.1这个小节写线程池,那么1.1.1部分就写线程池的基本概念以及常用参数,1.1.2部分通过案例说明如何向线程池里增加任务,如何关闭线程池,在1.1.3里写一些常见的项目经验,比如如何设置核心线程数,如何设置丢弃策略等。

        总之,让你的每页书里,多少出现些代码,截图或表格,你的连续文字描述部分,最好别超过半页,这样你的书就有血有肉了。

        在执行起来,一般的做法是,先找些和当前小节相关的代码,自己理解后,改写一下,绝对避免有版权问题,然后在代码下面写上自己对这段代码的解释,同时通过解释代码来给出针对本部分(比如线程池)的描述。

    5  写的内容别“看了都懂,但对工作毫无用处”,应当尽量加入项目中的体会

        我经常见到一些稿件,其中内容都很对,而且确实也能保证读者看懂,比如在讲Java集合时,用大量篇幅介绍了ArrayList等对象里所有API的说明,而且针对每个API,用表格列出了针对参数的说明。这是写说明文档,而不是写书。

        写书是要让读者通过看你的书,缩短进阶的时间,所以从这个意义上来讲,在讲Java集合时,可以讲项目里常用到的,这样Vector可以不讲或略讲,在讲ArrayList时,可以讲它的适用场景,以及在多线程场景下的表现,这些知识点在项目里会用到,而对于 API而言,说明下即可。

        讲得再透彻些,读者为什么不通过自己查网上资料来自学而要看你的书?第一你的书里整理得很全面,免得读者到处去找了,第二你的书里确实包含了你通过若干年项目实践总结出来的经验,读者相当于用钱买时间买经验。

        所以哪怕你的书文笔一般也不要紧,毕竟这是计算机书而不是文学书,但你得尽量用能让人理解的文字多叙述你的体会你的理解甚至你走过的弯路,如果你自己体会不够,那么你就先自己多学,把你这部分学过的感受写到书里,这些都是你书的卖点。

    6  不下决心别写书,论写书时的时间安排

        一般来说,写上手之后,2个星期能完成大概30页的章节,这样一个月能完成60页,按一本书450页计算的话,大概八个月左右能完成一本。我的写书速度大概就这样。

       我感受下来,一周如果用个8小时写书的话,完全能达到这个进度,再具体一点,平时一天用1小时,周末用3小时。如果再抓紧些的话,周末两天用5小时也可以,这样速度能更快。 

        但我就见过不少人,在写完最多3个章节后自动放弃了,这样不仅之前的努力白费,而且会更放纵自己,以后如果再要聚集些上进心就难了。所以,宁可不写,要写一定要坚持。 

    7  总结,感谢出版社和编辑

        写书本身带来的收益确实不多,这倒不仅仅是我个人的看法。但一旦有自己的书,面试时大有帮助,且当前视频教程非常火,有了自己的书,再找相关网站制作并卖教程,难度就会降低很多。

        在找选题方面,本文提出了“按自己能力选点,按读者群选面”的建议,在整理大纲方面,本文提出了“多参照别人然后修改”的建议,在具体写书过程中,本人提出了“结合代码说明,同时多加自身体会”的感受,本人再照着这些步骤实施时,只是感受身体累(因为在工作之余或周末写),并没感受脑累。

        晒下这本书在京东排行榜里的排名,虽然不靠前,但本人资质平平,拿到这种成绩也算不容易,而且今天出版社老师告诉我,这本书首印的3000册已经快卖完,将重印2000册,而我另一本书,Java Web轻量级开发面试教程,最近也有重印。

       Java核心技术及面试指南,这本书是在北大出版社出版的,自己感受下来,其中的多位老师不仅能力强,在出版过程中提了不少意见,而且在推广方面也非常给力,以后有类似的书,也会继续合作。 

     

  • 相关阅读:
    docker实例之mysql的使用
    使用Dockerfile创建ssh服务的镜像02
    添加ssh服务构建新镜像-docker commit 方式01
    Keepalived
    ubuntu网卡配置
    升级openssl
    源码安装nginx env
    dockerfile
    shell字符截取
    MYSQL导入/迁移后事件不执行
  • 原文地址:https://www.cnblogs.com/JavaArchitect/p/10441267.html
Copyright © 2020-2023  润新知