优秀的程序员都热爱写作

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

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

展开阅读全文

【转载】优秀程序员

02-01

优秀的程序员rnrn转自汇编网程序员眼中的世界http://www.asmedu.net/news.jsp?index=227rn文章作者:dodorn评论: rn 筛选不如去培养,筛选逃避了和谐社会应该承担的责任。识别不是最终目的,不过我们到可以从识别的条件中了解一下优秀程序员应该具备的素质。 rn rn 原文题目不太好,程序员还有真假?个人认为程序员只有优秀和非优秀之分,可能译文中的翻译偏差吧。现实中有一些没编过程序的“程序员”,我想这样的人不用费力去识别吧!倒是是编写劣质和优质程序的人很多,这个可以去辨别。 rn rn “激情”不太好,我觉得“热情”更合适些,无论你从事什么职业,如果对该职业没有热情,只是被动的按点工作,有一点其它小事就把工作放在一边,这样是干不好这个职业的,程序员这个职业也是如此。如果再不积极的学习和进取(除非强迫培训),那注定会落后,会被淘汰,否则干下去也是误己误人,浪费青春,一事无成。 rn rn “自学和好学”应该是程序员的一个基本素质,很难想象一个只有别人教了才能学会的程序员如何面对经常遇到的新问题。 rn rn “聪明”这个词不合适,用“睿智”更合适,程序员应该对问题有深入的洞察力,且富有远见,他不断的实践并解决现实问题。“交际”是需要的,程序员需要团队的合作,合作时的交流是必要的。“健谈、兴趣广泛”纯粹是迷惑人的,这不是作为优秀程序员的必要条件。就像爱因斯坦说他喜欢音乐,喜欢音乐是他能成功的必然原因吗?要是那样世界上不知一个爱因斯坦吧! rn rn “隐性的经验”,海面上能看到的总是冰山的一角,扎实和深厚的基础是不可缺少的,越是那些夸夸其谈或炫耀的,肚子里越没什么墨水。经验是需要,但不要迷信。 rn rn “技术多样性”,知识面的宽广可以放宽一个的视野。看问题的角度更全面,更能准确和快速的解决问题,但这些知识要形成体系,要像风牛马不相及的东西知道的再多,不注意它们的内在联系,再多也没用。 rn rn “资格证书”嘛,是考出来的,程序员不是,没见过那个优秀的程序员是考出来的! rnrn 总之,程序员应该积极应用计算机去高效的解决现实中存在的真问题,这样就可以当之无愧的称自己是一个合格的程序员,是否优秀让别人去评判吧! rnrnrn中文译文: rnrn如何识别真正的程序员 rnrn如何识别优秀的程序员?并不是像听起来那么容易。在这儿工作经验的作用是很有限的,因为伟大的程序员不一定要‘正式’的工作经历来证明他们的伟大。 rnrn1,激情。 rnrn我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。 rnrn2,自学好学 rnrn编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。 rnrn3,聪明 rnrn聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。 rnrn4,隐性的经验 rnrn—个好的程序员通常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。 rnrn5,技术多样性 rnrn由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。 rnrn6,资格证书 rnrn资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。 rnrn原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。 rnrn总结而言,优秀的程序员通常有一下特点: rnrn 对技术充满激情; rnrn 将编程作为一种爱好 rnrn 如果你允许会滔滔不绝地跟你谈论技术 rnrn 有过个人的开发经历(与4意思相同) rnrn 坚持认为某种技术最好 rnrn 如果让他用他认为不好的技术他会非常别扭 rnrn 聪明、健谈、兴趣广泛 rnrn 在大学和工作前就开始接触程序 rnrn英文原文链接:http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/rnrn发表日期:08/01/31rnrnrn转自汇编网程序员眼中的世界http://www.asmedu.net/news.jsp?index=227 论坛

没有更多推荐了,返回首页