优秀的程序员都热爱写作_程序员写作-程序员宅基地

技术标签: 程序员  写作  程序人生  

01、注释也是写作

据我所知,优秀的程序员都热爱写作(不止是狭义上的写博客)。如果你能举出一些例外,请一定转告我。

为什么这么说呢?

一个优秀的程序员想要分享一段开源的代码,假如别的程序员看不懂的话,他的挫败感一定会油然而生,除非他不想让别人看懂,但我觉得这样的话也没必要开源了吧。

为了能够让别的程序员读懂他的代码并重用,他不仅要定义恰当的变量和方法,还得写上一些可读性高的注释。就像下面这样:

public static int compare(double d1, double d2) {
    
    // Cannot use doubleToRawLongBits because of possibility of NaNs.
    long thisBits    = Double.doubleToLongBits(d1);
    long anotherBits = Double.doubleToLongBits(d2);

    return (thisBits == anotherBits ?  0 : // Values are equal
            (thisBits < anotherBits ? -1 : // (-0.0, 0.0) or (!NaN, NaN)
             1));                          // (0.0, -0.0) or (NaN, !NaN)
}

假如没有那些注释的话,代码看起来不免头疼。不知道我这个观点你是否认同。

你也许会争辩道:程序员难道是为了写作才成为程序员的吗?但你似乎忽略了一个前提,我说的是优秀的程序员。假如你不想在写作方面有所提高的话,请放过这篇文章吧,它不会对你有任何的帮助。

假如你想在写作方面有所提高的话,那我们可以好好地聊聊。

有效的写作其实没什么捷径,我保证就算你读了《21 天学会写作》这种秘诀也不能够在短时间内有所提高。写作需要时间,就像你从呱呱坠地的娃娃长成漂亮帅气的有志青年一样——有些人可能看到这句话的时候悄悄地打起了退堂鼓,但我这句话的深层含义是,写作没什么难的,只要你肯坚持,也不过是一件顺其自然的事情

我敢保证,只要你在发朋友圈、文章底部评论、写代码注释的时候稍微用心地组织几行字,过不上一年半载,你就会发现自己的写作水平和以前大不一样。但想要更进一步,你还得继续坚持。

02、评论也是写作

我曾经收到过一名读者的来信,感谢我当初给他的鼓励,让他走上了写作这条“不归路”,哈哈,信的内容大概是这样的,我们不妨来一睹为快。

二哥,不知道你收到这封信的时候会不会吃惊,但一想到你惊诧不已的表情,我就觉得特别的好笑。

一开始的时候,你不知道写作对于我来说,有多么的难,几乎难到我认为你是在骗我——毕竟不是所有人都适合写作啊。

那时候,你劝我别灰心,让我尝试去一些文章底部评论而不是坐在电脑前面硬憋两三千字的文章——你别说,这真的是一个不错的方法啊。

在新媒体时代,每个人每天都要被阅读无数篇文章,朋友圈、订阅号、知识星球、博客园、掘金、CSDN 等等等等,我也不例外。虽然某些优质的文章点赞数很多,但真正用心的评论却寥寥无几。

既然被阅读嘛,况且有的时候真的是有感而发,迫切地想写上一段自己的评论。于是我就规定自己每天评论 5 篇文章,字数不少于 10 个,也不能不超过 100 个。如果只写“666、加油、厉害了”这样的评论,写作能力显然不会得到提高,也不会引起作者的注意;如果写得太多,评论就不够简洁明了,读者的耐心就会下降。

坚持了半年的时间后,我察觉到自己的评论质量在稳步上升。有时候遇到文章底部评论送书的活动,我屡屡能够中奖,这在无形当中又给了我莫大的动力。如果我没有被选中,我就会去看别人的评论,然后去研究原因,我会想:也许我写得不够有趣味性?也许我写得不够一针见血?

你曾经说你坚持写博客极大地提高了写作能力,我想告诉你,写评论对于我来说有着相同的作用。

后来,我不再仅限于评论,我还会在知乎上面回答问题,这不仅仅提升了我的写作能力,还在无形当中锻炼了我的表达能力,让我感到无比的开心。

最后,我还要再说一声,二哥,谢谢你。

看完这封信,你是不是也迫不及待地想在这篇文章底部评论评论呢?如果你肯这样做的话,那就对了!

03、如何坚持写作

优秀的程序员心里都清楚,写作能够很好地提升自己,包括技术能力、表达能力,但同时写作也是一个很慢的过程,需要长时间的积累,才会有效果。

就好像健身一样,好处多多,但做起来并不那么容易。

我身边就有很多想要健身的人,觉得年纪大了,再不锻炼就废了,但往往很多人掏了钱办了卡,仍然不能坚持。我也去过健身房,亲眼目睹过不少身材曲线非常完美的女性,还有呈现倒三角体格的男性,觉得他们的毅力太强了。

那如何才能把写作这个事情坚持下来呢?

1)小事做起

说实话,我没有办过健身卡,因为我觉得自己在健身房很难坚持不下来,这并不是给自己设限,而是自知之明。那我怎么做呢?

我每天骑自行车上下班,除了下雨天和一些例外。因为这事,我母亲没少唠叨我:“这么热的天,你骑自行车不开车,是不是傻啊,儿子?”

我回答说:“我得锻炼啊,妈,要不很快就中年发福了。”

我妈就不耐烦地说:“你看你以前瘦成啥样了,一百斤出头,现在好不容易胖点多好!”

听到这句话,我只能心里暗笑母亲的愚,太胖就不帅了。

你看,就骑自行车这件小事,都能受到他人的干扰,何况写作呢?但只要我把骑自行车这件事坚持下去,那么我坚持每周分享两篇文章的节奏就不那么容易中断。

你也可以从小事做起,比如说在文章底部写评论,甚至在发朋友圈、写注释的时候稍微比往常更用心一些。

2)抱团取暖

写作能给作者带来的奖励并不多,尤其对于刚开始要写作的人来说(写评论、代码注释就更不会了)。「惰性」是人人都有的,很多人就会在写与不写之间徘徊,徘徊着徘徊着就不写了。建议你找一些水平相当的作者,隔三差五大家鼓励一下,报团取暖嘛。

我就会在写作的道路上关注一些水平相当的好友,每当写不下去的时候,和他们畅谈一下,沮丧的心情就会立马被治愈。抱团还有另外一个好处就是,当你看到他们文章的阅读量超过自己的时候,还可以向他们取取经,学习学习经验。

3)读者驱动

当你花了一定时间完成了一篇文章,怀着迫切的心情分享出去以后,过不了一会儿就会收到了一些评论,无论是赞扬还是抨击,你都会觉得感受蛮有趣的——竟然还有读者肯花心思读我的文章嘛。

我之前在 V2EX 上发表了一个话题,叫做《心情不宁静的时候,你怎么办》,有个读者就看不惯了,觉得我发的主题总是很消极(尽管我不那么觉得),就把我以前所有的主题统统罗列了出来,要让更多的人评评理。我看到他的评论时忍不住笑出声来,于是乐呵呵地回复他说:“好用心啊,伙计!”

有的时候,真心感觉自己的文章不怎么样,但仍有不少读者热情地评论,觉得深受启发。哇,那时候你感觉自己好优秀啊(真的)!迫不及待地想写下一篇。

04、最后的忠告

写作这件事已经老生常谈了。

但很多程序员喜欢把写作等价于写博客,其实这样的定义略显狭隘,很容易把一部分想要写作的人阻挡在门外。我认为,写作包括很多方面:评论、提问、回答、聊天、发朋友圈、技术文档、代码注释等等等等。

最后,让我来引用一位名人对于写作重要性的阐述:

如果你准备在一堆人中挑出一个人来做某份工作,那就挑文章写得最好的那个。至于他有没有做过市场、销售、设计、编程或其他什么工作,倒并不重要。这种人的写作才华就值得雇用。这是因为,一个优秀的写手,其优点并不仅仅在于写作。文法清晰代表思路明晰。优秀的写手都懂得如何与人沟通。他们使事情变得易于理解,他们善于换位思考,懂得抓重点、砍枝节,这些都是合格的应聘者身上应具备的特点。

说这句话的名人曾创造过一个大名鼎鼎的副产品——Ruby On Rails。

PS:欢迎关注「沉默王二」公众号,后台回复关键字「写作」获取二哥精心准备的写作方面的电子书。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qing_gee/article/details/96479056

智能推荐

数据分析与数据挖掘-程序员宅基地

文章浏览阅读2.0k次,点赞14次,收藏17次。第一章、概述1.1.1数据分析:采用适当的统计分析方法对收集到的数据进行分析、概括和总结,对数据进行恰当的描述,提取出有用的信息的过程。1.1.2数据挖掘:从海量数据种通过相关的算法来发现隐藏在数据中的规律和知识的过程。1.1.3知识发现的过程1.1.4数据分析与数据挖掘的区别1.1.5数据分析与数据挖掘的联系数据-------数据分析----->信息-------数据挖掘-------->知识1.2分析与挖掘的数据类型1.3数据分析..._数据分析与数据挖掘

Python实现WOA智能鲸鱼优化算法优化XGBoost分类模型(XGBClassifier算法)项目实战_鲸鱼算法 xgboost-程序员宅基地

文章浏览阅读312次。Python实现WOA智能鲸鱼优化算法优化XGBoost分类模型(XGBClassifier算法)项目实战_鲸鱼算法 xgboost

使用android.webkit.WebView控件-程序员宅基地

文章浏览阅读3.9k次。android.webkit.WebView/WebViewClient/WebChromeClient使用android.webkit.WebView控件在xml布局文件中定义 android:id=”@+id/webkit01” android:layout:width=”fill_parent” android:layout:height=”fill_par_android.webkit.webview

基于Matlab实现图像处理常用应用案例(附上100个案例源码)_matlab图像处理实例详解-程序员宅基地

文章浏览阅读6.5k次,点赞9次,收藏186次。基于Matlab实现图像处理常用应用案例(附上100个案例源码)_matlab图像处理实例详解

如何在 Python 中调用函数?九种方法任你挑选_python调用函数-程序员宅基地

文章浏览阅读2.9w次,点赞5次,收藏43次。1.直接函数调用这是最简单、最直观的方式:def test():print("This is a test")test()2.使用partial()函数在 的内置库中functools,有一个专用于生成偏函数的偏函数partial。def power(x, n):s = 1while n > 0:n = n - 1s = s * xreturn sfrom functools import partialpower_2 = partial(pow_python调用函数

WSL2 配置SSH 设置开机自启_wsl2开机自动启动-程序员宅基地

文章浏览阅读4.9k次。WSL2 配置SSH 设置开机自启WSL2 配置SSH 设置开机自启先说结论完整wsl --helpWSL2 配置SSH 设置开机自启尝试了很多博客上的方法没有找到理想的解决方案,看了wsl --help之后才知道这些方法确实十分十分奇怪。先说结论在windows命令行中输入并运行如下命令即可开启WSL并启动ssh服务。wsl -d Ubuntu-20.04 -u root -e /etc/init.d/ssh start注意:要想顺利从外网ssh登录wsl2还需要在windows上设置端口映_wsl2开机自动启动

随便推点

面向容器技术资源调度关键技术深度对比-程序员宅基地

文章浏览阅读1.1k次。导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的容器调度技术!作者:阿里中间件,公众号:云栖社区本文以资源分配理念:拍卖、预算、抢占出发,引出Bor..._资源调度编排种类

Matplotlib解决多子图时的间距问题_matplotlib 子图间隔-程序员宅基地

文章浏览阅读2w次,点赞43次,收藏94次。Matplotlib解决多子图时的间距问题Create SubplotsAdjust Spacing of Subplots Using tight_layout()Adjust Spacing of Subplot TitlesAdjust Spacing of Overall Title参考链接Often you may use subplots to display multiple plots alongside each other in Matplotlib. Unfortunately, t_matplotlib 子图间隔

解决msys2“无法升级 mingw64 (无效或已损坏的数据库 (PGP 签名))”密钥失效问题_由 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig 认-程序员宅基地

文章浏览阅读1.8w次,点赞14次,收藏50次。最近在使用msys2的时候,无法使用pacman -Syu进行更新,会出现如下提示:原因是密钥无法信赖(rely on)msys2-keyring密钥服务器。msys2官方提供了以下方法:# pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz{.sig,}解决办法:1. 下载 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz 软件包# curl -O http://repo.msys_由 msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig 认定的签名无法验证

Android开发中的WMS详细解析-程序员宅基地

文章浏览阅读647次。的博客地址:https://juejin.cn/user/3597257779197021介绍 WindowManagerService 简称 WMS ,是系统的核心服务,主要分为四大部分,分别是窗口管理,窗口动画,输入系统中转站和Surface 管理 。WMS 的职责很多,主要的就是下面这几点:窗口管理:WMS是窗口的管理者,负责窗口的启动,添加和删除,另外窗口的大小也时有 WMS 管理的,管理..._android windowmanagerpolicy详解

小米校招产品作业解读:设计一款日记APP_写日记app的产品设计总结-程序员宅基地

文章浏览阅读1.5k次。题目:设计一个日记App,提供目标用户分析、主流程交互框图在人人都是产品经理看到这个标题,突然感到很有兴趣。众所周知,移动端输入内容远远还没有做到PC上那么便捷,是怎样的一款能让用户选择移动端而非PC来写日记呢?这一年多来,都是在这个网站上看别人的分析和经验总结,这次就不看作者的观点了,谈谈自己的一些见解。目标用户分析移动端相比PC端最大的优势,就是可以随身携带,能充分利用_写日记app的产品设计总结

用python的pandas库计算24小时均值_pandas求一天12小时平均值-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏29次。Excel或CSV文件中根据日期及小时数据,用pandas计算该时间段24小时均值import numpy as npimport pandas as pdfrom datetime import datetime###{parse_date=True}是将{index_col='date'}这一列解析为时间索引df=pd.read_excel('***.xlsx',index_col='date',parse_date=True)c=df.groupby(df.index.hour).mea_pandas求一天12小时平均值

推荐文章

热门文章

相关标签