软件开发的一个最基本的事实是写代码,但是最大的误区之一就是把写代码当做工作。当我作为一个程序员第一次参加工作的时候,就犯了这样的错误。老实说,写代码真的是一件特有意思的事,它的强大功能,它的多种作用等等都让我有一种挥斥方遒的豪情壮志,倍有满足感。但是经过这么多年在这个行业沉浸,我才终于发现了这个真理:软件开发人员应该尽可能地少写代码。

不过,可别误解我的意思,我可不是说我们应该死命地压缩代码,像“代码高尔夫”竞赛那样,步步为营,搞得最后自己写出来的代码自己都不理解了。我的意思是,我们现在大多数的时间都用在了写大段大段的可怕代码上,少写代码其实就意味着给自己减轻工作负担。怎么样,听上去是不是像夏娃的蛇果一样诱人?

原因

环顾四周,看看你的工具,看看你的框架,正是依靠这些我们才能搞定我们手头的工作。所有你使用的工具,所有你做的尝试,这所有的一切归根究底都是朝着“少写代码”的目标而前进的。工具可以让我们少犯错,扫掉会导致麻烦的垃圾。

那么,为什么要少写代码呢?首先我得承认,我前面所说的软件开发人员的任务就是少写代码这一点有点言过其实了。事实是,软件开发的任务应该是思考,思考手头的问题,设计出一个完美的解决方案,然后再把这个方案转变成可供用户使用的软件。而写代码仅仅是在这一系列步骤最后一步——写成软件——这一过程中产生的副产品。

代码就是一个副产品

其实代码没有我们想象的那么重要。为什么呢?因为当我们将方案转化成软件时,写代码仅仅是一个手段而已。在日常生活中,我们会说说编辑器,谈谈编程语言,聊聊工作环境。我会这样做,他会这样做,大家都会这样做。享受我们从事的工作所带来的成果并不可耻。不过关键要保持专注。代码的确是个超级棒的工具,但是它从有的角度来看也是个麻烦:我们得花大量的时间去写,一不留神就容易出现bug,光看代码还不甚明了,并且不甚耐用,需要维护等等。

这就是文章题目我提出“少写代码”的原因。当有时候我感觉事情越来越繁琐,远远超过原先的预计,或者最后的成果过于复杂,我会提醒自己“我需要少写代码”。不论何时,要是我的代码在上下文中放不下了,我会毫不犹豫地删掉重构。与此同时,心中一直默念着这个原则:我要少写代码。

如果代码乱糟糟的一坨堆在那里,而这时候如果我不得不浏览这些玩意儿的时候,我会异常痛苦。少写代码也意味着写好的代码清清楚楚,明明白白。如果我们大家都可以简练地写代码,那我写这篇文章的目的就达到了。

最后,本文想说明什么呢?我觉得,最最重要的是,我们的代码只是一个副产品,是在软件开发过程中产生的,而对此,我们难以避免,唯有选择接受。不过,我们可以做的是,多多思考,好好重构,及时删掉过时的代码,代之精简的新代码。好吧,各位,改变从今天开始,加油!

译文链接:http://news.html5tricks.com/why-programmer-write-less-code.html

英文原文:Write Less Code

前端爱好者们约定,阅读后:

if(‘觉得有用’)

分享(‘I get it!’);

else if(‘已了解’)

分享(‘a piece of cake!’);

else if('看不懂')

{

回复小编('help me!');

}

图片来源于网络-----

程序员为什么要少写代码?相关推荐

  1. 为什么程序员要尽量少写代码

    软件开发的一个最基本的事实是写代码,但是最大的误区之一就是把写代码当做工作.当我作为一个程序员第一次参加工作的时候,就犯了这样的错误.老实说,写代码真的是一件特有意思的事,它的强大功能,它的多种作用等 ...

  2. 别以为程序员的工作就是写代码

    大家好,我是鱼皮,今天给大家分享一个开发小经验. 很多没有实际工作过的同学,可能都会认为程序员的工作只有写代码 + 和产品经理 "拉扯",也会习惯性地用代码量来评价一个程序员的工作 ...

  3. 为什么中国的程序员喜欢用英文写代码,甚至注释也用英文?

    为什么中国的程序员喜欢用英文写代码,甚至注释也用英文? 1.因为英语是国际通用的,用英语方便各国程序员. 2.因为英文才专业 3.因为语句只能用英文 4.因为变量名用英文方便外国同行看代码 5.因为英 ...

  4. 计算机原始程序,原始程序员竟然是这样写代码的?

    原标题:原始程序员竟然是这样写代码的? 如今我们大部分人眼中编程是这样的:一台电脑,一个编辑器,几串代码.彩色的页面,自动缩进,智能联想,隐隐觉得这是一件很艺术的事情. 不过,在几十年前,原始程序员更 ...

  5. 10月16日云栖精选夜读 | 为什么程序员喜欢在半夜写代码?

    本文的作者是 Swizec Teller,他是一名自由职业者兼连续创业家,有超过17 年以上的软件开发经验,自称 A Geek with a Hat.几年前因为在inside.com上发了一篇文章&l ...

  6. 程序员在火车站候车室写代码画面曝光,网友:程序员的悲哀

    大过节的,许多在外打拼的人们纷纷奔向回家的路程,本该是欢声笑语的一路,可是却因为工作缠身而显得有些不美好.比如下面这位,一名程序员网友正在火车站候车室候车,无意中看到一名同行在电脑上"奋笔疾 ...

  7. 程序员健身总动员:写代码后你胖了几斤?

    原文链接 你觉得噼里啪啦敲键盘写代码时的你,是 屠龙的勇士.登塔的先锋! 然而屏幕前这个形容憔悴的你,更像刚 从80年代僵尸片的片场领了盒饭回来 . 你在幻想中严词拒绝了产品经理瞎改需求的要求,并把他 ...

  8. 抢程序员饭碗?自动写代码的Deep TabNine真如此神奇?

    作者 |  James Vincent等 编译 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 导读:在过去的一年中,AI 生成书面文字的能力大大提高.通过扫描庞大的文本数据集,机器学 ...

  9. 程序员辞职回老家山洞写代码,二年敲了 45 万行!

    星标/置顶 公众号????,硬核文章第一时间送达! 程序员辞职回老家发展已经不是一个稀罕事,但是回老家躲在山洞里写代码的就比较稀奇了. 日前,有网友发帖感慨:"好久没打代码了,回想以前辞职到 ...

最新文章

  1. Java项目:银行管理系统+文档Java基础Gui(java+Gui)
  2. iOS开发 Xcode8中遇到的问题及改动
  3. Oracle 多行合并一行 方法
  4. mysql语法与decode语法的不同
  5. python获取当前路径的方法_Python获取脚本所在目录的正确方法【转】
  6. 数据库选型入门必读:如何在眼花缭乱的产品中挑出最适合业务的?
  7. SQLmap常用命令/使用教程
  8. 【实践】Pytorch nn.Transformer的mask理解
  9. ssm框架中mysql的分页_SSM框架中mapper层,增删改查,如何实现
  10. 1分钟获取上千ID,暴力破解、端口扫描、拖库攻击如何防范
  11. python 安装PyQt4
  12. 线性表的链式存储结构
  13. ThinkPad SL400无线网卡的问题
  14. 工业照明节能减碳难?致远ZWS云平台有妙招
  15. 央行企业征信异议处理条件及流程
  16. linux搭建智能dns步骤,Linux下智能DNS配置过程
  17. smartbi v7 Linux,Smartbi V7.0.1
  18. linux 内存清理 释放命令,linux 内存清理/释放命令总结
  19. NVidia 3060/1650S 独显笔记本 HDMI外接屏幕有输出,笔记本屏幕无输出/ubuntu 更改显卡驱动后无法进入图形界面的处理方法 以及禁止内核自动更新
  20. 微服务架构Day04-SpringBoot之web开发配置

热门文章

  1. centos 计算器_centos计算内存CPU正确方法
  2. java setquality_Java-在不损失质量的情况下调整图像大小
  3. 作者:夏帆(1988-),男,华东师范大学计算机科学与软件工程学院博士后。...
  4. 客座编辑:杜小勇(1963-),男,博士,中国人民大学信息学院教授、博士生导师。...
  5. 哥德巴赫猜想(洛谷P1304题题解,Java语言描述)
  6. linux 命令记录
  7. 用matalb、python画聚类结果图
  8. window服务器上搭建git服务,window server git!!!
  9. C#编程(八十一)---------- 捕获异常
  10. 使用Laravel Eloquent ORM 时如何查询表中指定的字段