文档章节

clean code

carl651
 carl651
发布于 2016/02/28 21:47
字数 723
阅读 43
收藏 0

        我最近正在阅读肯特.贝克的《implementation patterns》的序言。他说:“、、、这本书是建立在一个非常易碎的前提下:好的代码、、、”。一个易碎的地基?我不同意。我认为那个地基是健壮的、被支持的、满载着我技艺中的地基的(我认为肯特也知道)。我认为好的代码很重要,因为过去我们已经因为好的代码的缺少花费了那么多时间。

        我知道一个公司,在80年代,写了一个“杀手级”应用。它非常流行,许多专业人士购买和使用它。但接下来应用发行周期开始变长。bug从上个版本遗留到下个版本。加载时间变长,崩溃次数增多。我记得那一天,我沮丧地关闭了那个应用,并从未再使用过它。很短的一段时间后,那家公司也停业了。

        20年后我遇到了那家公司的前雇员,并问他到底发生了什么。回答证实了我的担心。他们匆忙的把产品推向市场,但是在代码上是一团糟糕。当他们增加越来越多的功能时,代码变得越来越糟糕以至无法再管理。这就是坏的代码,可以把一个公司拖垮。

        你以前被坏的代码妨碍过吗?如果你是一个有些经验的的程序员,那么你应该遇到过几次这种妨碍。事实上,我们给他取了个名字,我们叫他“跋涉”。我们跋涉在坏代码的水中。我们在充满荆棘和隐藏的陷阱的沼泽艰难前行。我们努力寻找以后的道路,希望通过一些提示,一些线索。但是我们所看到的是越来越多的无意识的代码。

        显而易见,你曾经被坏的代码妨碍过。那么,你为什么要写它呢?

        你正在走的更快吗?你正在匆忙前行吗?也许是。也许你也曾经感觉到自己没有时间来做个好的工作。你的老板也许会对你在整洁代码上花时间而恼火。也许你仅仅是对这个软件已经厌倦了,想尽快完结它。或者你看到这些积压的许诺的要完成的工作,意识到必须尽快完成这个模块以便进行下一个。我们曾经也都这样做过。

        我们曾经看着我们写的一团糟的代码,选择放在那一些天。我们也曾经感到欣慰,看着那一团糟的代码,因为一团糟总比没有好。我们总是说,以后会再整理它们的。当然,那时,我们并不知道勒布朗的名言:“以后等于永远”。

© 著作权归作者所有

共有 人打赏支持
carl651

carl651

粉丝 2
博文 18
码字总数 3305
作品 0
广州
后端工程师
私信 提问
php中这种绕过表单验证的办法是如何实现的

下面这段代码,是表单验证的。 //判断是否提交了 if ($_GET['action'] == 'register') { //为了防止恶意注册,跨站攻击 if (!($_POST['yzm'] == $_SESSION['code'])) { _alert_back('验证码不...

ziluopao
2015/11/04
532
3
How to train YOLO

git clone source code create project in source insight make clean;make create project in eclipse . File --> New Project --> Makefile Project with Existing Code .Browse Existing ......

bravelionking
2017/01/07
1
0
Maven 生命周期阶段及插件

Mave生命周期和插件 在项目里用了快一年的maven了,最近突然发现maven项目在eclipse中build时非常慢,因为经常用clean install命令来build项目,也没有管那么多,但最近实在受不了乌龟一样的...

逝去的回忆
2016/10/09
33
0
Why Do Programmers Fail to Write Good Unit Tests?

We programmers are full of opinions when it comes to unit testing. We don't always agree about the importance of unit testing or what role it should play. There is also a lot of......

Leah Grantz
2017/12/27
0
0
baomidou/mybatisplus-maven-plugin

#mybatisplus-maven-plugin #####一、简介 mybatis-plus 代码生成工具的 maven 插件版本 #####二、使用方法 在项目的pom文件中配置以下内容 false...

baomidou
2016/10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JVM问题排查也不是很难--工具使用

目录 概述 环境准备 工具介绍 远程连接方式 开启JMX 工具远程连接 参考文献 概述 线上环境中,程序越来越慢,一头雾水?遇到程序经常宕机,但找不到原因?排查问题却经常记不住命令? 那是没找到好...

java_龙
1分钟前
0
0
MySQL

1、查看数据库中所有的数据表: SHOW DATABASES; 2、连接数据库: use (数据库名); 3、显示已经打开的数据库: SELECT DATABASE(); 4、创建数据表: CREATE TABLE (数据表的名字)(第...

墨冥
9分钟前
1
0
idea 设置背景色

编辑界面背景色 控制台背景色

暗中观察
11分钟前
0
0
Win10强制更新怎么关闭 彻底禁止Windows自动更新方

Win10强制更新怎么关闭 彻底禁止Windows自动更新方法 (全文) 百事数码原创 2018-07-06 17:39电脑百事网7843 + 关注 很多Win10用户来说经常会遇到这样的烦恼,电脑系统会不时的提醒自动更新,...

阿K1225
27分钟前
0
0
不用编写程序代码,送你一个爬虫程序批量采集猫眼电影票房数据

"大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大,指代大型数据集,一般在1...

技术阿飞
41分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部