文档章节

clean code

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

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

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

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

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

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

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

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

© 著作权归作者所有

共有 人打赏支持
kaixin651

kaixin651

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

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

ziluopao
2015/11/04
510
3
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
ios自动打包脚本,融合xctool、xcodebuild、xcrun

在少数需求下,需要能够自动打包,将app发布到不同的平台,那么下面给出本人使用的自动打包脚本: # 以下内容到分割线是,需要针对每个项目进行配置的部分 buildDay=$(date +%Y%m%d) buildTi...

HillYoung
2016/01/15
1K
2
baomidou/mybatisplus-maven-plugin

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

baomidou
2016/10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《看图轻松理解数据结构与算法系列》导引贴

最近学习数据结构,遇到一个很喜欢的博主,他的文章图文并茂,理解起来很容易。特此开贴记录,方便反复阅读。 博主主页 https://juejin.im/user/57c3970f79bc440063e58518/posts?sort=popul...

科陆李明
33分钟前
0
0
20.27 分发系统介绍~ 20.30 expect脚本传递参数

分发系统介绍分发系统-expect讲解(也就是一个分发的脚本)场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者lnmp,最好还需要吧代码上传到服务器上;但是因...

洗香香
47分钟前
2
0
设计一个百万级的消息推送系统

前言 首先迟到的祝大家中秋快乐。 最近一周多没有更新了。其实我一直想憋一个大招,分享一些大家感兴趣的干货。 鉴于最近我个人的工作内容,于是利用这三天小长假憋了一个出来(其实是玩了两...

crossoverJie
53分钟前
2
0
软件架构:5种你应该知道的模式

Singleton(单例模式)、仓储模式(repository)、工厂模式(factory)、建造者模式(builder)、装饰模式(decorator)……大概每个上课听讲的程序员都不会陌生——软件的设计模式为我们提供...

好雨云帮
今天
3
0
OSChina 周二乱弹 —— 这只是一笔金钱交易

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《暮春秋色》- 窦唯 / 译乐队 《暮春秋色》- 窦唯 / 译乐队 手机党少年们想听歌,请使劲儿戳(这里) @我没有抓狂:跨服聊...

小小编辑
今天
1K
19

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部