程序员必知必会之blog篇
网易广州       赖勇浩(http://blog.csdn.net/lanphaday)
本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),欢迎转载,但请务必保留全文完整,不得用于商业目的。
缘起
虽然我写博客到现在只有两年多时间,但因为文章多是原创,还经常被推荐到CSDN首页,又在几个杂志上灌过水,所以也有不少朋友问过我相同的话题:我在学习/工作中有很多感悟,但我写不出来啊,有什么好方法吗?问这个问题的有师弟师妹,也有朋友同事,甚至有一些是有近十年经验的资深技术人员。
后来看到CSDN blog开通了近20万个专栏,却只有不到55万篇原创文章,平均一个专栏还不到三篇文章。这说明有很多程序员,想写却写不出来,写了却没能坚持下来。这终究是一个方法问题。
向我咨询的一位有十年经验的资深技术人员,他给我看了一些他的作品。我惊叹于其中的技术,极力鼓吹他把其中的技术体会写出来,但他的回答是:我也想写出来给大家参考,但我下笔写不了三句话啊!
眼看着一个个技术专家有心无力,无可奈何地看自己的技术流失;眼看着一个个年轻后进无法分享学习路上遇到的困难和解决方案;眼看着大家上穷碧落下黄泉,用尽谷歌加百度也无法找到有效的参考方案。我感到自己有责任站出来,分享自己写文章的心得和套路,让更多人能够写博客、乐于写博客;把自己的所得分享给大众,回报行业,回报社会。
看图作文
无论现在你的成就多大,你也不得不承认在小学(甚至是幼儿园)学到的东西让你终生受用无穷。看图作文就是这样一门有用的学问。
(本图纯属非商业用途引用,版权归原作者所有!)
看着上面搞笑的漫画,无论是谁都能写上一两百字吧?
其实,看图作文法是写博客的好帮手哦!君不见多少网站编辑就靠这招就能混得人模狗样有房有车么?千万不要小看啊!我们写技术文章的时候,可以套用这样一个套路来写文章:
1、 先画几幅图,如软件需求图、架构图、界面图、细节图等若干;
2、 针对每一幅图写一段话,三五句,讲清这幅图的功用即可;
3、 去掉图片,通读全文,做好各段的衔接;
4、 修改文章,直到满意为止。
一开始我们就多弄点图,像太平洋电脑网的评测文章一样。慢慢地,图的数量降下去,文字的数量升上来。最终,您终于修练成Word无图而心中有图的不二法门,就神功已成了!
回眸说明文
咳,大家都还记得说明文是我们学习过的众多文体之一。但作为一个技术博客的作者,写的文章大多应该是说明某一种技术(或算法或架构)实现。因此掌握说明文的写作有着举足重轻的意义,在继续下一步之前,我们有必要再复习一下说明文的一些要素。
说明文是解说事物、阐明事理的文章体裁,最重的是要把特征、本质和规律讲清楚明白。说明文通常都具有知识性,这种知识可能来自于文献资料、研究数据或者自己的实践和调查所得。说明的时候要有一定的条理性,也就是顺序,必须搞事物特征或者人的认识规律来安排。知识性和条理性方面最好的范文就是各种药物的说明书了。在这里有一份“小儿甘草锌片”的说明书http://www.chinapharm.com.cn/html/database/drugmanual/730/TYV30243701092005KPD.html,如果大家对照葫芦画瓢,把自己要分享的技术(或算法或架构)以这种填表式表达出来,未尝不能达到清晰明了的效果。您可能会笑话我竟然把技术跟药品混为一谈,并认为他们风牛马不相及,但我给你举个例子,你看看有着最完善的技术文档之称的MSDN,是不是像极了药品说明书?下面看个.net类库里的Keyboard类的文档:http://msdn2.microsoft.com/zh-cn/library/microsoft.visualbasic.devices.keyboard(VS.80).aspx,语法、备注、示例、层次、安全、版本和参考信息,一类一类列下来,简明清晰,我等学习的典范。
说明文主要是说明事物给人知识,所以既可以写得平实(如MSDN),也可以写文艺化一些(如我的博客上的《Mixn扫盲班》http://blog.csdn.net/lanphaday/archive/2007/06/18/1656969.aspx)。说明的方法有下定义、作诠释、作比较、打比方和分类别等等,具体的可以再参考当年的教科书。
十句作文法
上面废话了这么多,难得您还能忍着呕吐感看到这里。为了报答您对我的赏识,我决定在这一节开始白话一下我的两个独门密招:十句作文法和测试驱动写作。咳,虽然我号称独门,不过据我所知,用这两招的人非常多,相当多;特别是苦难的高考期间紧张在黑色六月的祖国的花朵们,经常用这两招。
十句作文法不是我原创,是中学的时候,我的英语老师教我的。那时我数学经常考一百分,语文就差了点。我的老师看在眼里急在心里,为了培养一个能文能武的学生,他在某个冬日的午后,在痛批恨铁不成钢之后把这个独门秘方传授于我,从此我就走上了作文高分之路。
首先要指出的是十句作文法并不是一定要写十句,通常是8-12句。这种方法对付考试是最有效的,但也可以应用在我们的技术文章写作当中。十句作文法其实是最低阶的写作方法,汗,我在前面似乎把它吹得太神乎了?因为十句话往往只有200个字左右。200个字能说清楚些啥啊?没关系,只要我们不停地迭代(不知道什么叫迭代?)和递归(不知道什么叫递归?)应用这个方法,200个字也能清易扩展到2000个字。古龙曰过了,最简单的,就是最有效的。
文章就像水,没有固定的形状。不过,文章也像水,有源头、有主体和终端;就像再长的河流也最终也要流入大海,再长的文章,也逃不过“始、中、终”三个字。只要我们掌握了这一点,自然就能一切通杀了。
有了上述理论(气宗)指导,下面十句作文法(剑宗)就显得相当简单了:
始(第一段):
       主题句一句,通常应用开门见山法。
       扩展句一句,用以深化主题,通常应用烘云托月法。
中(第二段):
       简介一句,通常应用承前启后法。
       下面用时间、空间、逻辑、总分、并列或者因果等法讲述事物/事理,共六句。要用的方法有彩线穿珠、小中见大、顺应时空、尺水兴波和联想对照等。
终(第三段):
       结束句一句,用以总结全文、升华主体思想,最典型的做法是:啊,多么伟大的中国人民啊,他们创造了与世无匹的世界奇迹!
有了这十句之后,我们就可以以小段为大段,以句为小段,对每一句再应用一次十句作文法,文章自然就体积胀大,而且结构分明,看起来蛮像一回事了。(附注:如果有读者正在考英语四六级之类的考试,十句作文法绝对可以帮到你!)
本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),欢迎转载,但请务必保留全文完整,不得用于商业目的。
测试驱动写作
虽然十句作文法是老师传授于我,但测试驱动写作却是明明白白的我的原创。证据?还真没什么证明,不过在百度上搜索”测试驱动写作”,找到的网页数目为零,也算是一个证据了吧?http://www.baidu.com/s?ie=gb2312&bs=%BF%AA%C3%C5%BC%FB%C9%BD&sr=&z=&cl=3&f=8&wd=%22%B2%E2%CA%D4%C7%FD%B6%AF%D0%B4%D7%F7%22&ct=0
测试驱动写作的灵感来自于编程界流行的测试驱动开发(Test Driven Development,简称TDD),简称TDW。因为TDW和着与TDD相同的血统,所以TDW也有着TDD的优势。文章简洁可用是TDW的目标,它通过先思考如何撰写文章,并罗列相关的问题要点,然后再写出文字;通过比对问题要点,循环修改添加其它观点,直到文章完成。大家都是程序员同行,TDW的优点我就不说了,请参考大家耳熟能详的TDD优点;下面我只是谈谈TDW的过程:
1) 明确要写的主旨和内容,最好是列一个提纲。
2) 在表格上写明这篇文章要达到的目标、效果、字数甚至体裁和段落,作为测试用例。
3) 利用十句作文法(或者其它方法)快速完成一个文章原型。
4) 针对测试用例比对,记录下未完成和完成得不好的地方(Bugs)。
5) 修正Bugs,然后再回到第4步
6) 对文章进行重构,润色。(放到blog上的话,这一步可以不做)
7) 文章完成。
由TDW的过程可见,十句作文法是TDW的基础,要进行TDW,必须有一种快速的原型开发方法。TDW是对十句作文法的扩展和迭代,是弥补十句作文法写的文章有骨无肉缺陷的有效手段。只要掌握了这两种方法,肯定能写出受人肯定的技术文章,为自己的博客添光彩。
Next Works
诗人陆游《示儿》诗中说:“诗为六义一,岂用姿狡狯。汝果欲学诗?功夫在诗外!”
是啊!云对雨,雪对风,晚照对晴空。要学会这些套路并不是难事。就像武学一样,在学会长拳通臂之后,讲究的是融汇贯通。无敌寂寞到左右手互博的周伯通也打不过杨过单手黯然消魂掌,是因为杨过已经把他对生活的感悟融进了功夫之中。李杜两人领衔中国诗界一千余年无人出其右,也正是因为他们的诗已经融入了他们对生活的感情!放翁一句“春如旧,人空瘦,泪痕红浥鲛绡透”让多少人为之泪流,也是因为《红酥手》这首词融入了他几十年的情感!
相信通过我的文章,读者能够掌握一些写作的方法和技巧。也许在一段时间之后,您也喜欢上了写博客,喜欢上了与大家分享自己的所得所思。这时您可能想把自己的文章写得更有文采一些,也许您仍然会回来问我,希望我再跟您交流经验。我在这里先说一句吧,我不是大文豪,如何把文章写更富有文采和风格,那不是我能回答的问题。我只有一句话也大家共勉:
功夫在文外,文章不够好,归根结底是因为对生活的积累太少。
相关文章
程序员必知必会之maillist篇
http://blog.csdn.net/lanphaday/archive/2007/06/27/1669326.aspx
程序员必知必会之Email篇
http://blog.csdn.net/lanphaday/archive/2006/06/29/850059.aspx

程序员必知必会之blog篇相关推荐

  1. 程序员应知必会的思维模型之 18 林纳斯定律 (Linus‘s Law)

    林纳斯定律 (Linus's Law) 足够多的眼睛,就可让所有问题浮现.–Eric S. Raymond 简单地说,能够看到问题的人越多,有人解决过相关的问题或事情的可能性就越高. 最初该定律是用来 ...

  2. 程序员应知必会的思维模型之 19 梅特卡夫定律 (Metcalfe‘s Law)

    梅特卡夫定律 (Metcalfe's Law) 在网络理论中,系统的价值约等于系统用户数的平方. 这个定律基于一个系统中可能的连接对数量,并且与里德定律 (Reed's Law) 十分相近.奥德利兹科 ...

  3. 程序员应知必会的思维模型之 7 邓巴数字 (Dunbar‘s Number)

    邓巴数字 (Dunbar's Number) 邓巴数字是对一个人能够保持稳定社会关系的人数的认知极限--在这种关系中,一个人知道每个人是谁,也知道每个人与其他人的关系如何.而对这一数字的确切值则有着一 ...

  4. 程序员应知必会的思维模型之 25 普特定律 (Putt‘s Law)

    普特定律 (Putt's Law) 技术由两类人主导,一类是纯粹的管理人员, 一类是纯粹的技术人员. 普特定律常常遵循普特推论: 每一个技术层次,假以时日,能力将逆转. 这些结论表明,由于各种选择标准 ...

  5. 程序员应知必会的思维模型之 15 技术成熟度曲线 (The Hype Cycle or Amara‘s Law)

    技术成熟度曲线 (The Hype Cycle or Amara's Law) 我们倾向于过高估计技术在短期内的影响,并低估长期效应.–罗伊·阿马拉 (Roy Amara) 技术成熟度曲线是高德纳咨询 ...

  6. 程序员应知必会的思维模型之 23 帕金森定理 (Parkinson‘s Law)

    帕金森定理 (Parkinson's Law) 在工作能够完成的时限内,工作量会一直增加,直到所有可用时间都被填满为止. 基于官僚机构的研究背景,该定律被应用于软件开发中.该理论认为,团队在截止日期之 ...

  7. 程序员应知必会的思维模型之 21 墨菲定律 (Murphy‘s Law / Sod‘s Law)

    墨菲定律 (Murphy's Law / Sod's Law) 凡是可能出错的事就一定会出错 出自 爱德华·A·墨菲 , 墨菲定律 说明了如果一件事有可能出错,那么就一定会出错. 这是一句开发人员间的 ...

  8. 程序员应知必会的思维模型之 3 破窗效应 (The Broken Windows Theory)

    破窗效应 (The Broken Windows Theory) 在破窗理论中认为,一些明显的犯罪迹象(或缺乏环保意识)会导致进一步的.更严重的犯罪(或环境的进一步恶化). 软件领域应用 破窗理论已应 ...

  9. 程序员应知必会的思维模型之 12 席克定律 (Hick‘s Law or Hick-Hyman Law)

    席克定律 (Hick's Law or Hick-Hyman Law) 决策时间和可供选择的选项数量呈对数增长关系. – William Edmund Hick and Ray Hyman 解释 在下 ...

  10. 程序员应知必会的思维模型之 5 康威定律 (Conway‘s Law)

    康威定律 (Conway's Law) 这个定律说明了系统的技术边界可以反应一个组织的结构,它通常会在改进组织时被提及.康威定律表明,如果一个组织被分散成许多小而无联系的单元,那么它开发的软件也是小而 ...

最新文章

  1. PHP编译安装时常见错误解决办法,php编译常见错误
  2. YII2 实现登录时候修改最新登录时间
  3. Java创建一个文件变量_java如何定义一个类,创建它的成员变量和方法?
  4. UVA - 11694 Gokigen Naname(dfs)
  5. 30道经典SQL面试题讲解(11-20)
  6. 论文浅尝 | 解决知识图谱补全中的长尾关系和不常见实体问题
  7. python装饰器函数执行后日志_一篇文章搞懂Python装饰器所有用法
  8. Java 开发者最困惑的四件事
  9. 性能测试-ApacheBench
  10. java封装json串示例_Java JSON示例
  11. 服务器u盘一键安装系统,一键Ghost U盘版安装使用图文教程
  12. 怎么用C语言程序表白,c语言表白代码 用C语言表白.doc
  13. QQ玩一玩广告与音效使用总结
  14. word文档左下方竟然出现无法删除的小横线???
  15. 3万字细说数据仓库体系(建议收藏)
  16. iOS Charts
  17. n平方的求和公式_1到N的平方和,立方和公式是怎么推导的
  18. 中国新冠疫情数据可视化
  19. unix time stamp(时间戳)和常规时间相互转换的C++代码
  20. 网络(十三)之ACL的高级应用

热门文章

  1. Project Tungsten:让Spark将硬件性能压榨到极限
  2. 开源的ResearchKit:苹果将如何颠覆未来医疗?
  3. Android华容道之一步一步实现-7-重构代码
  4. 深入理解分布式技术 - 分布式缓存实战_Hot Key 和Big Key的发现与治理
  5. linux之用 grep -r 关键字
  6. 数据结构 稀疏矩阵的实现方法
  7. 安卓使用Span富文本给某段Text文本加上波浪线
  8. 从0开始配置Flutter并运行demo
  9. Python知识:关于map
  10. access设计视图打不开_定制橱柜衣柜怎么测量才能避免出错?(设计师必看)