zoukankan      html  css  js  c++  java
  • 程序猿怎样才干写出一篇好的技术文章

    文章来源于 @justjavac在知乎上的邀请,要写在知乎上的回答。由于有原创,所以先首发,免得被伪原创。每天有大把的时间刷GitHub,写博客。从我大二的时候。大概六年前開始写技术博客,到如今已经有540+了。大概每年会写一百篇左右。

    这个答案由四部分组成:

    1. 博客的流量来源
    2. 不同文章类型的写作要点
    3. 怎样写博客
    4. 怎样收集写作的灵感

    流量来源

    首先,我将技术博客分为以下几种类型:

    1. 技术细节型。

      频率: 每天几次,15~30分钟能够写完。

    2. 干货型。

      频率: 每月几次,1~2小时能够搞定。

    3. 实践总结型。频率: 每周1~2次,2+小时以上的时间。

    4. 杂谈与鸡汤型。频率: 每季度几次,少则几小时。动则上月。

    接着,奉献上一章我的博客的用户来源图,分析完大概例如以下:

    traffic-source.png

    前三者能够带来非常多的流量,后者能够带来大量的评论啦。

    前三者能够让你在Google上有一个好位置~~。后者能够让你在用户心中有个好位置。

    通过社交媒体能够让第四种类型的文章,有大量的评论和转载。

    干货型和实践总结型的文章通过聚合站点来传播的效果最好。

    在Google中有个好位置意味着——第一的位置会有50%以上的用户訪问,这一点非常重要哦~~。再放出神图:

    google.png

    首先作为一个专业的程序猿,我们会用某个关键词去搜索。如“InsecurePlatformWarning: A true SSLContext object is not available.” :假设这时你的标题就是《Python 解决 InsecurePlatformWarning: A true SSLContext object is not available》。那么你就找到了你的用户了。

    这是我之前用了5分钟不到的文章写的一篇文章。它在半年的时间里带来了6,599个訪问量。它在Google的搜索结果中排第一:

    google-search-python-issue.jpg

    尽管非常不情愿地被排名第二的文章抄袭了——可是我还是第一,这该死的伪原创

    而用户不会仅仅訪问你的一个页面的:

    user-behavior.jpg

    一般来说,前三种类型的用户获取到他们想要的信息就走了,不会留下评论。至于第四种类型。没有大V的光环,偶尔文章被转企业V转转也能多个几十个粉丝。所以我没有第四种类型的文章太多的经验哈。

    不同文章类型的写作要点

    接着, 让我们再看看上面的几种类型:

    技术细节型

    在我的博客里非常大一部分文章都是这一类,主要是原自早先对SEO的研究。对于先这样的没有光环的人来说,这是我博客的主要流量来源。这也是让我坚持下去的动力。每天有大概三百个用户来自搜索引擎。

    这样的类型主要来自于日常工作,可是好像写这一类的人不多。

    每天我们都会遇到不同的技术问题——如某个第三库更新,某个浏览器bug,怎样使用某个技术。因此,我们就会用这样的keyword和词去搜索。反正大部分教程序猿使用Google的文章就是这么写的。

    既然你想要这样的搜索,那我就直接把搜索结果放前面好了,如:

    1. Mac OS Laravel 安装
    2. Homebrew versions安装特定版本号软件
    3. brew versions gradle安装指定版本号gradle

    假设你也擅长用Google的话。我想你就懂了奥秘。标题的前半部分是keyword,后半部分指名意图。

    接着。就是贴解决方式和代码咯~~。在这时候须要注意几点:

    • 试着去表达一些技术上的细节。也会省去一些技术上的细节。
    • 以自己学习的角度去想怎样写能够一步步下来。

    • 加入一点点自己的情感,博客和文档是不一样的。(具体见下文)
    • 编写更简洁的内容,由于技术博客与此文不同的是。技术博客是面向寻找信息的人。

    干货型

    一般来说,这样的类型的文章更相似于GitHub上的那些Awesome类型的Repo。

    说说几个标题,大概可能就会有点感觉了:

    • 每一个程序猿必知之SEO
    • 作为一个前端project师你了解你的小伙伴么 - chrome
    • App 上架相关事宜、解决技巧
    • 20 个非常实用的 Java 程序片段
    • Java 开发人员不容错过的 12 种高效工具

    通常来说。这一类型的文章都是作者一段时间对于某一个东西的总结,非常有收藏价值。故而,这样的类型的文章会在GitHub或者聚合站点上比較受欢迎。

    所以,它也更easy传播。

    可是写起来的难度比較大,这依赖于你的使用经验。

    所以。也不是一天、两天就能搞定的。

    实践总结型

    看看标题。可能大家都知道这一类文章要怎么写了:

    这通常是一系列的文章。而这一系列的文章通常是连续写出来的。

    也因此,我们能够发现非常大的书都是由这一类的文章衍生出来的。

    这一类的文章更像是干货型和技术细节型的结合。面向特定领域的技术。也属于干货。

    对于这样的类型的文章来说。更依赖于代码——读者须要根据代码一步步往下深入。

    所以在这一类型的文章中代码往往比較重要。

    杂谈与鸡汤型

    来几一些标题:

    1. 为什么整个互联网行业都缺前端project师?
    2. 程序猿职业生涯中应该思考的10个问题
    3. 怎么降低编程中的 bug?
    4. 为什么大公司看起来都那么糟糕?

    BlaBla,简单地来说这一类文章基本上是没有技术的,都是一些以理论为主的概括。

    同一时候,写这一类文章的时候,也意料着可能在某一领域有一定的水平——写出来才会有人看。而由于偏向理论,这一类文章看的人往往会很多其它,由于它并不倾向于使用领域特定的技术。

    所以这样的类型是受众非常广的文章,并且也像鸡汤一样easy传播。

    同一时候。这样的类型的文章。更依赖于社区媒体及聚合站点的传播。

    由于大部分情况下,用户不会这么去搜索文章的。

    怎样写博客

    对于博客的内容来说。以下几点非常重要哦:

    1. 标题、小标题。

      一个好的标题会带来很多其它的流量的。

    2. 内容。以代码为例的文章。最好有代码。代码能够放在GitHub上,一举两得。
    3. 图 —— 一图胜千言,如本文第一节中的框架图。

      。一个框架图能够省去你的非常多话语。

    4. 排版,又可称为UI设计。主要的语法高亮要有,easy阅读也要有。最简单就是白底黑字。

    以下有我之前在《招聘笔杆子——成为笔杆子》一文中说到的一些要点:

    标题——必须重要。类名

    对于写博文的人来说。重点的是怎样清楚的去表达他们的想法,标题算是当中之中的一个,这个也就是为什么标题党成为了标题党。而《设计模式》成为了经典。刚開始学编程的时候,更吸引你注意力的可能是《72小时学会Javascript》,而不是《Javascript 权威指南》,后续让你买前者的原因是由于你能看懂前者。而后者不仅看不懂,并且价格更贵。仅仅是一年以后,《72 小时学会Javascript》被你扔到了垃圾箱,而《Javascript 权威指南》却放在了原来放那本书的位置上。你定义的类难道仅仅应该是class class1么?

    小标题——地图,method

    小标题有点相似于sitemap.xml。仅仅是他就是站点地图。一点就到了对应的地方。他应该直接了解的说这是開始菜单,标题栏,菜单条,而不应该是简简单单的第一章,假设你真是那样写的话。你写的函数想必是

    def fun1
    end

    假设你写的是get_data那么,我想你的函数名应该和你的文章一样,告诉人们,你要的是get_data。所以不要吝啬你鼠标的一下。它能够承受上百万字的点击。假设由于那样坏了,你能够告诉我,我能够帮你免费换一个欧姆龙的微动。前提是你的鼠标能够换。假设是HTML那么应该是h2 h3,markdown也就是用得比較多的github上的README.md的##或者是###

    内容——函数体

    这里可不是让你用一个让人难以理解的Magic Number。你写得越复杂,别人看的时间就越久,通俗易懂,就是一个非常好的開始。你能够把一个个复杂的方法分解出来,或者提炼函数。或者重命名。当你相信你看不懂你的文章。正如你看不懂你写的hello,world我想你是时候去重构你的函数了。

    复杂的部分,就用段落来解决,一个函数如同一个段落仅仅应该表达一个思想,太长了就如同这篇文章一样没有多少人会认真去看。你须要给你写的一个精美的代码加一个凝视。所以你也须要给你复杂的地方加上个(PS)。

    在编写内容的时候须要注意以下的几点:

    • 代码。必要的时候贴出代码,会是一种高速有效的方法,工作的时候是为了完毕某个任务。
    • 列表。列表能够简明扼要的说明你想要表达的内容。
    • 图表。一张流程图能够说明程序的步骤,一个表格能够作好一个对照。
    • 标题。标题的优点,能够让用户高速定位,让用户找到想要的内容。

    • 链接。一个好的URL对于使用英文的人来说,能够利于SEO,对于中文。使用的人能够推断出文章的专业与否。

    引言——README

    我想都会去看的,不管是在破解软件的时候,还是github上面的项目。简单的说说,这篇文章是干什么的,这个程序是干什么的。大家都会。不是么?

    没有什么好写的?
    说说你是怎么開始编程吧,然后写在你的博客上,你会发现你会爱不释手的。

    怎样收集写作的灵感

    以下是我近期在做的,感觉非常不错,推荐一下咯:

    通常是先有个论点,然后再论据,最后才写。

    第一步。在平时把想到的一些能写的文章用TODO的形式列出来,如我用的是“奇异清单”。以下就是我近期想写的一些文章的一些标题:

    wunderlist

    可是有一些还没灵感,仅仅是想到了个大概——所以有的是仅仅是一个标题。这些文章大部分都属于杂谈型的,想到什么就说点什么,可是会有个核心。

    第二步,在平时偶然会有点灵感的时候,就用Google Keep创建一个新的记事。略微写几句。提醒一下自己咯。在这一步,相当于就是找一些论据来支撑自己的观点。等到这些观点差点儿相同的时候就能够写了。

    Google Keep

    第三步,便是写。

    写的时候事实上没有啥感觉。就如同我之前在《编程同写作,写代码仅仅是在码字》一文中所说的。不得不再说说这个标题,一看就知道要写什么了~~。

    真正的想法都在脑子里,而不在纸上。或者IDE里。

    所以。事实上写代码的时间非常短。真实长的是想出怎么写,文章也是如此。

    欢迎关注我的微信公众号:

    https://www.phodal.com/static/phodal/images/qrcode.jpg

  • 相关阅读:
    vue工程项目中配置测试环境及生产环境线上地址
    复杂表格的拖拉拽,及行列拖拽
    前端骨架屏的资料
    关于vue中的重复key的警告问题
    git 约定规范
    git 博客
    关于svg的一些事
    vue单文件组件2(webpack打包)
    vue单文件组件1(webpack打包)
    vue-resource
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7238918.html
Copyright © 2011-2022 走看看