文档章节

程序员的灯下黑:“逗到底”的程序员

rise-worlds
 rise-worlds
发布于 2016/06/20 13:42
字数 1090
阅读 1
收藏 0
二十年前读中学的时候,有一位语文老师特别促狭。有一次上作文课,上来说,“今天我要请一位同学来读一读他自己的作文。不过这次和以前不同,我要求连标点符号也要读出来。小K同学,上讲台来读吧!”
小K是班里一位成绩较差的学生,不知道为什么被点名念作文,这通常是优秀学生的荣誉啊。难道小K写了一篇美文?
被点名的可怜的小K慢慢地挪上了讲台,拿着自己的作文本,在手里捏来捏去,半天也没吭气。
老师一把拿过来,“我来念吧!”
只听到老师念了头句,“今天我的作文题目是坚持就是胜利,”说“逗号。”,又念了一句,又是“逗号。”
开始,全体同学没听出什么意思,不过,在老师读到第十个逗号的时候,就开始有人发笑了。待到老师不停的“逗号逗号逗号”时,全面开始笑成一片。小K这篇文章,竟然是从头逗号到尾!直到文章结束,才有一个句号!
我当时也参与了笑话小K,年纪见长,慢慢有些同情小K,觉得那位老师不该这么刻薄,让小K如此丢脸。不过这老兄的作文,未免有些太离谱。
 
以作文而论,“逗到底”的文章大概是最糟糕的文字了。
 
那么,什么是最糟糕的程序员呢?很不幸,如同写文章一样,有“逗到底”的程序员。更不幸的是,小K知道这“逗到底”是不好的文章,很多“逗到底”的程序员还常常自以为高明!
什么样的代码是“逗到底”呢?
 
实现一个功能,不分青红皂白,从头到尾一个函数写到底。你打开代码一看,奥,有一个类,有一个函数,再打开函数,天哪,长到你把鼠标的滚轮摩擦烫了都看不到底。然后他(她)还会告诉你,他(她)的模块很复杂,这是为什么改一个简单的Bug要三天的原因。因为定位到错误点得靠搜索关键字,甚至连搜索都要10秒钟呢!
于是你告诉他(她),你的代码很糟糕。他(她)的回答是:你看,我的代码很整齐啊!
“不行,你得重构你的代码!”
过了几天,告诉你,好了。一看,现在有一个类,两个函数了!原先的大函数被齐腰截成两段,分别放在了原来的函数和一个新函数中。昏倒。
 
“逗到底”的程序员还喜欢非常深的分支。有一次,有位“逗到底”先生向我展示的代码:最上面是一个for循环,里头有个if…else…,每个if从句有for循环,for循环中还有if…else………我看来一会儿,已经完全迷失了,这老兄还向我解释,“你看,排除这个条件后,进入这……”我又晕。用工具一看,竟然有12层之多。我记得大师说过,人类大脑只能立即理解三层嵌套关系,这老兄,我只能佩服啊佩服了。
 
写出“逗到底”代码的就是“逗到底”程序员。其实就是不会程序设计的程序员。我把设计分成产品设计,系统设计和程序设计。产品设计是有产品经理完成的,描述了产品的特性,系统设计描述了系统框架,不如数据库和应用服务器的关系等,程序设计就是对代码结构的设计。我发现很奇怪的一点,声称要成为构架师的很多人特别重视前面两个设计,但很少有人关心程序设计。大部分程序员拿到需要文档后,立马开工,UI画上去,遇到什么逻辑就临时加上。所有的逻辑是平铺直叙,遇到干同样的事情的代码,也抽象成一个函数,而是直接拷贝代码。时间一长,代码就彻底“逗到底”了。谁也不敢改。
 
好了,你,会是“逗到底”的程序员吗?

本文转载自:http://www.cnblogs.com/flying_bat/archive/2007/06/16/785838.html

共有 人打赏支持
rise-worlds

rise-worlds

粉丝 2
博文 1755
码字总数 0
作品 0
深圳
程序员
私信 提问
程序员:用7张图表达我对工作的“热爱”,网友:宝宝不哭

程序员:用7张图表达我对工作的“热爱”,网友:宝宝不哭 2018-06-19 10:10编辑: suiling分类:程序人生来源:http://www.techug.com/post/pro 程序师 招聘信息: C++工程师 Cocos2d-x游戏客...

suiling
2018/06/19
0
0
那些只有程序员才能看懂的冷笑话,用餐时间请勿点开。。。

0 客户被绑,蒙眼,惊问:“想干什么?” 对方不语,鞭笞之,客户求饶:“别打,要钱?” 又一鞭,“十万够不?” 又一鞭,“一百万?” 又一鞭。 客户崩溃:“你们TMD到底要啥?” ▼ “要什...

uw63zqpkxwlrl1
2018/05/11
0
0
那些只有程序员才能看懂的冷笑话,用餐时间请勿点开

[图片上传失败...(image-f379aa-1526459294222)] 0 客户被绑,蒙眼,惊问:“想干什么?” 对方不语,鞭笞之,客户求饶:“别打,要钱?” 又一鞭,“十万够不?” 又一鞭,“一百万?” 又一...

一个敲代码的前端妹子
2018/05/16
0
0
喷一下wordpress

你们这帮逗比程序员天天就将架构,用户跟你说架构?人家仿个网站只要1小时,你仿个网站要3天,又在那谈架构,你咋不用java、ASPX的?学PHP不就是因为喜欢简约吗,你搞飞机稿那么大,还容不得...

自主创新
2014/11/17
1K
16
《灵异侦探社》寻找最美程序员,送优酷VIP黄金会员卡

说到电脑高手,大家第一印象肯定是程序员、PS高手等等。今天为大家介绍一位超可爱的程序员,小弥(刘婷驿饰)。她是《灵异侦探社》的一员,也是是一名电脑高手。她可以黑进外网数据库,在短时...

名字好难想qaq
2018/04/04
13
0

没有更多内容

加载失败,请刷新页面

加载更多

Vue.js开发环境搭建说明(mac)

vue开发环境搭建(mac) 投影放大:cmd + + 安装Node 下载Node 官网下载 https://nodejs.org/en/download/ 安装Node 双击安装包,选择安装目录,比如: /usr/local/bin 安装成功后最好记录一...

Danni3
10分钟前
1
0
Qt编写自定义控件3-速度仪表盘

前言 速度仪表盘,写作之初的本意是用来展示当前测试的网速用的,三色圆环+数码管显示当前速度,Qt自带了数码管控件QLCDNumber,直接集成即可,同时还带有动画功能,其实也可以用在汽车+工业...

飞扬青云
15分钟前
0
0
【论文阅读】Image Super-Resolution via Deep Recursive Residual Network

题目:通过深度递归残差网络实现图像的超分辨率 摘要: 近年来,基于卷积神经网络的模型在单张图像的超分辨率上已经取得了巨大的成功。由于深度网络的强大,这些CNN模型学习了从低分辨率输入...

云烟成雨forever
18分钟前
0
0
为什么强烈建议大家使用枚举来实现单例

关于单例模式,我的博客中有很多文章介绍过。作为23种设计模式中最为常用的设计模式,单例模式并没有想象的那么简单。因为在设计单例的时候要考虑很多问题,比如线程安全问题、序列化对单例的...

群星纪元
36分钟前
11
0
Confluence 6 超过当前许可证期限进行升级

这个页面将会对你在进行 Confluence 升级的时候超过了当前许可证的期限进行升级的情况。 许可证警告 在升级的过程中,你将会在 Confluence 的应用程序日志(log file)中看到类似下面的错误提...

honeymoose
49分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部