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

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

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

原因

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

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

代码就是一个副产品

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447440.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

elasticsearch-head 安装

elasticsearch 安装( 阿里云ECS )、远程访问、启动报错处理 kibana 安装 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 首先安装好 git、node.js、npm、cnpm yum -y install g…

C语言探秘:C代码在内存中的分布

估计会有很多初学者跟我有一样的疑惑,这些编写好的代码是放在磁盘中,但是运行将会被copy至内存中去运行。但他们在内存中是怎么分布呢。在 “linux下c编程圣经”(apue)UNIX环境高级编程一书中阐述了这一点。在这里结合网上资料以及…

kibana 安装

附另 2 文章: elasticsearch-head 安装 elasticsearch 安装( 阿里云ECS )、远程访问、启动报错处理 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 我的 elasticsearch 是…

“4K”时代将来临!标准/技术一网打尽

第1页:4K 分辨率与 DCI 数字电影院在今年的 CES(电子消费大展)上,除了让人眼花缭乱新手机等移动设备外,还有一个领域让人感到相当瞩目,这就是所谓的 4K 电视产品。 4K 电视的卖点当然是高分辨率&#xff0c…

Image Processing Wavefronts for HEVC Parallelism

Unlike H.264/AVC, where parallelism was an afterthought, the current HEVC draft contains several proposals aiming at making the codec better “parallelizable”. H.264/AVC supports slices, which were introduced mainly to prevent loss of quality in the case …

Windows 9信息曝光:统一开发接口、整合Cortana到任务栏

摘要:2014年微软全球合作伙伴大会在美国华盛顿正式拉开序幕,会上,微软首席运营商Kevin Turner透露了微软下一代操作系统Windows 9的一些信息:统一开发接口、语音助手Cortana将被整合到任务栏、桌面小工具回归等。 北京时间7月15日…

解决: Error while compiling statement: FAILED: ParseException line 23:13 extraneous input ‘(‘ expectin

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. hive 执行sql,报错: Error while compiling statement: FAILED: ParseException line 23:13 extraneous inp…

程序员可以只关心技术么?

摘要:不少程序员爱维护喜欢的技术,虽然他们说的有道理,但程序员价值的实现并不取决于技术。模式不一样,程序员价值也不一样,而这也暗含了程序员生涯的两个进阶模式,读完此文,相信你会重新思考个…

Intellij IDEA中分屏显示方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 今天才发现IDEA中还有split view的功能,上网查的时候查到了很多莫名其妙的东西。 实际上对想分屏显示的文件 右键->Spli…

ROW_NUMBER() OVER() 函数用法详解 (分组排序,多例子)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 语法格式:row_number() over(partition by 分组列 order by 排序列 desc) row_number() over()分组排序功能: …

解决:您需要来自xxx的权限才能对此文件夹进行更改(电脑系统取得管理员权限)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.莫名的一个项目工程代码就打不开了。提示信息为: 2. 删除也不行,更新也不行,火大,我惹…

解决:Can not deserialize instance of com.xxx.xx.XXModel out of START_ARRAY toke

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. json数据解析报错: Can not deserialize instance of com.xxx.xxx.model.XXXModel out of START_ARRAY token 2. 需要一…

为什么年事已高的我还在编程?

每一个行业的从业人员都会有变老的那一刻,难道变老了之后还要继续从事之前的工作吗?估计没人愿意,除非是体力上吃得消的。接下来所讲述的就是作为程序员的码农们该如何迎接慢慢变老之后的工作转变!人们都会期望随着岁数的增加&…

解决: Intellij IDEA 运行报错 Command line is too long

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. idea启动工程报错: 2. 网上找到2个方法。方法一我试了有效果。方法二我同事试了有效果。 方法一: 修改项目…

年薪50万码农转行卖凉皮,互联网思维又一次颠覆?

摘要:今年五月份,一位年薪50万元的码农哥放弃了码农的工作,转身跳到了苦脏累的餐饮行业,每天骑着筋斗云电动车在中关村送外卖的事迹在互联网上引起了轰动。近日,码农哥接受了CSDN的采访,让我们一窥其转行背…

hue 查询 hbase 操作相关参考

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 界面操作说明 进入hue中的hbase 进入表的查询界面 界面说明 查询语句 ,表示结束查询,可以不加 主键查询 输入主键 rowke…

.NET技术+25台服务器怎样支撑世界第54大网站

摘要:同时使用Linux和Windows平台产品,大量使用静态的方法和类,Stack Overflow是个重度性能控。同时,取代横向扩展,他们坚持着纵向扩展思路,因为“硬件永远比程序员便宜”。 【编者按】StackOverflow是一个…

apache sgoop 导入数据到 oracle、导出数据到 oracle 实现

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 业务场景:是在oracle 数据库和 hive 数据库中 ,有多个相同结构的表,要求数据从2个库定时双向同步。…

最佳的开源云项目有哪些?

Linux.com和The New Stack联合起来做了一个调查:你认为的最受欢迎的开源云项目是哪些?调查涵盖了hypervisors、IaaS、PaaS、管理和服务开通和其它类别的开源项目。所有项目较为成熟的、有规模的开源云项目。下一代的企业正在使用开放云技术打造完全不同的…

解决:-source 1.6 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 工程打包 mvn clean install 执行报错&#xff1a; 2. 解决方法&#xff0c;在pom中加上如下配置&#xff1a; <plugin><gr…