送给当代软件开发者的咒语:"Write Less Code"

在2012年的时候,笔者写过这样一篇文章:Write Less Code,在当时还不错,但是在那之后,我在PageCloud工作,两年之后,再回过头来看这篇文章,现在,带着两年的思考和经验(希望如此),对这篇文章重新修改。

软件开发的基本真理就是写代码。不过最大谬论之一就是为工作而写代码。当我第一次开始写代码的时候就落入了这个陷阱。编写代码是一件很棒的事情。敲打键盘让自己有成就 感,就想正在完成自己的梦想。但是这些年,我学到的东西则更重要——作为软件开发者尽可能写更少的代码。

别误会,我的理解,我们不应该将自己置身于编写代码,或者敲打让人难以理解的代码情境中。事实上,花一点时间思考,我们会发现,我们大多数的时间,都用来维护代码。编写更少的代码,而不是为自己创造更多的工作看起来像是一个相当好的主意。

为什么?

多看看,我的使用工具,使用的框架。我做的所有的事情,用的所有的工具,都是为了写更少的代码。使用工具为了减少代码中的错误,让你走更少的弯路。

那么,为什么要写更少的代码呢?之前,我说你的工作是写更少的代码,而今看来,那时候,我是错的。实际上,你的工作是思考,是思考遇到的问题,找到一个可靠的方法并把它用到软件开发中去。开发软件的一个副产物就是我们不得不写代码来解决问题。

代码意味着结束

代码没那么重要。我们喜欢说服自己,我们正在开始执行、并把我们的解决方案放入软件中。这样看来,代码既是一种方式也意味着结束。我们谈论自己所用 的编辑器,谈论我们最喜欢的编程语言,谈论使用环境。每个人都在谈论,享受自己的工作,没什么不好意思的。重点是你是否专注。代码很棒,但他也可能是敌 人。及时我们花很多时间去写,他也可能很脆弱,不够清楚,甚至不够稳定。

这就是为什么我要说的"Write less code"。无论何时,我觉得这个项目或者代码块变得比想象中大、复杂,我就会想到"写更少的代码"。无论何时,我写了多少代码,甚至写了一页又一页,我重构他,我重写他,同时思考"写更少的代码"。

有时候,如果不能写出简洁、干净的代码,对自己来说,写一堆代码就是很痛苦的事情。写更少的代码就是写干净清晰的代码。当你"节约代码"的时候,就意味着,你在写更少的代码,意味着你写代码的目的就是让他变得简洁。

那么,我从中学到了什么?我认为写完代码就意味着结束,在软件开发中解决各式各样的问题就不可避免。所以多思考,重构、删除以前的老代码,并且使用更少代码编写新代码。

不要犹豫,从今天开始,就这样做。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-11-04 00:39:47

送给当代软件开发者的咒语:"Write Less Code"的相关文章

成功软件开发者的9种编程习惯

编程 好的原程序做出好的软件 有些人会想:只要程序运行结果好,就不管原程序编得怎样.但绝对不是这样的.软件不是一次性就作完的,有必要做修改,扩展等管理.所以原程序要尽量作成易看懂,管理方便. 这样做,第一是为了软件开发者方便,其次还会影响到软件的性能.管理不方便的程序不会作出好的软件. 希望通过这篇文章能学到好的编程习惯.要理解这文章的内容,你至少要懂得1个开发工具语言.这里举例说明的都是C语言,但你对C语言没有了解也不要担心.这里说明的是原理而不是特定的语言. 1. 语句要结束得彻底---(分

94%的软件开发者赌HTML5将赢得移动未来

2个月前,Facebook转向开发iOS应用,其CEO扎克伯格称Facebook最大的错误是"在HTML5上下赌注太多, 在本地程序下注太少.",一时间很多人据此判断HTML5的前景渺茫,不过据VentureBeat网站报道,一份最新的面向开发者的调查显示,超过 94%的软件开发者看好HTML5的未来. 移动应用开发公司Kendo最近进行了一次调查,该调查有4034位软件开发者参与,调查显示94%的软件开发者已经开始或者计划使用HTML5,其中高达63%的开发者已经使用HTML5,而只

2012年杭州QCon全球软件开发者大会见闻

一.概述 每次听完一些技术分享,都会写一篇分享,一方面也是我自己对论坛的一些总结,另一方面也是想把我自己的一些感受分享出来,上一篇是<2012年阿里技术嘉年华所见所感所悟>.这真是一个美好的时代,我们能从互联网上学习到这么多好的东西,也能参与这么多好的会议,这次特别感谢InfoQ.我这张票是部门给的,也特别感谢我的领导们.这三天我基本都在听,听了大约21场分享,感受还是比较多的,以下我主要就我听到的一些分享说说自己的感受.先说下这个和一般的嘉年华的区别,首先这个会议是收费的:再次这个会议老外的

提到软件开发者的社会化编程以及代码托管

提到软件开发者的社会化编程以及代码托管,很多人往往第一时间想到GitHub或者GitCafe.这年头,不去GitHub或者GitCafe上托管几行代码,都不好意思说是自己是程序员.GitHub和GitCafe是以代码托管为基础的社区,用户可以在上面托管代码,团队成员可以协作修改代码.但是项目开发往往比较复杂,涉及到管理,演示,测试等等,仅仅托管代码就能很顺畅地完成开发么?我觉得显然还应该有更好的解决方案. 基于这样的想法,Coding 开发了一个面向开发者的云端开发协作平台,目前可以实现托管代码

软件开发者薪资大调查

如今,软件开发是互联网年代的一个兴起的重要职业,2012年末的时候,CSDN和<程序员>杂志发起了一年一度的"软件开发者薪资大调查".在调查中我们可以看到:①月薪5K-10K的开发者占据了大部分; ② 上海.北京.深圳.杭州.广州五地属于程序员的腹地;③ 前3行业:互联网.游戏.国防/军队;④ 最赚钱的四种编程语言是:Objective-C.C++.Python.C; ⑤ 导致开发者跳槽有三大原因,分别是:薪水低.福利少.公司技术水平差.调查对收到的上万份问卷进行统计,开发

软件开发者30岁以后该何去何从

转自:http://www.5yijia.com/?p=206 软件开发者30岁以后该何去何从 [原创]转载请注明出处 我一家网 http://www.5yijia.com 本文主要讨论软件开发者到了30岁以后的出路在哪里 尴尬的年龄        对于一个软件开发者,特别是还奋斗在编码前线的程序员来说,30岁的确是一个比较尴尬的年龄.由于时间,精力各方面的原因,我们无法与刚毕业或者毕业没几年的小伙子去比.        首先,大多数30岁左右的开发者都已经结婚生子(当然也有些事业心很强的,会等

德软件开发者否认蓄意植入“心血”安全漏洞

Codenomicon和谷歌安全部门(Google Security)的研究人员在开源软件包OpenSSL里发现了一个存在两年的安全漏洞,这一软件包被全球上百万个网站的加密协议所使用.这个名为 Heartbleed的加密漏洞导致网络过于公开,促使安全专家警告网络用户在未来几天尽量避免使用网络.很多人怀疑这一漏洞是代码编写者.来自德国明斯特的软件开发者罗宾·西格尔曼(Robin Seggelmann)蓄意植入的, 但他本人对此表示否认.在首次媒体公开评论中西格尔曼表示,这一漏洞的出现"其实很好解释

软件开发者依然最爱Android 开发者比例高于iOS

硅谷网讯 http://www.aliyun.com/zixun/aggregation/17197.html">北京时间7月17日消息,市场研究机构VisionMobile发布的一份报告显示,苹果iOS和谷歌(微博) Android平台依然是软件开发者的最爱,但HTML5在开发者心目中具有同等重要的位置,而WindowsPhone则是研发者最想开发的新平台. 报告还显示,在平均月收入方面,谷歌Android开发者正在缩小与苹果iOS开发者的差距.iOS开发者平均每月从应用上取得的收入为5

DXXD勒索软件开发者叫嚣推出了无法再被破解的新版本

9月份的时候,一款名叫DXXD的勒索软件感染了不少服务器.并加密了设备上的文件.这款勒索软件没什么特别的地方,只是受感染的系统中的每一个文件,都会被加上".dxxd"的后缀(扩展名).为了解救受害者,安全研究人员Michael Gillespie在分析后发布了一款解密软件.没想到的是,勒索软件开发者很快留意到了他的举动,并且修改了程序算法,让文件变得无法被解密.   举例说,在被勒索软件DXXD感染后,"hyacinth.jpg"文件就会被加密并更名为"h