39. 通过移除改进代码
来源:互联网 发布:egd网络小黄金 编辑:程序博客网 时间:2024/06/06 10:49
通过移除改进代码
少即是多。老生常谈的话了,但有些时候它确实是真的。
我过去几周对我们的代码库的改进之一便是移除它里面的组件。
我们愿意遵循极限原则来编程,包括你不需要它(YAGNI,You Aren't Gonna Need It)。但我们免不了在有些地方会大失所望,人的天性使然。
我观察到了产品花费太长的时间执行某些任务,应该是在瞬间完成的简单任务。这是因为它们被过分实现了;带有额外的门铃和警笛的门帘是不必要的,但是那时也觉得像是个好主意。
于是我简化了代码,改进了产品的性能,降低了全局的代码熵,方法仅仅是简单地从代码库中移除不必要的功能。很有帮助的是,单元测试告诉我在操作中没有破坏任何功能。
一个简单却非常有成就感的经历。
为什么一开始那里会有一些不必要的代码呢?为什么一个程序员会觉得需要写额外的代码,又是如何通过代码审查和同伴检查的过程的呢?原因几乎都是类似这些:
· 写代码其乐无穷,程序员就是想要写。(提示:写代码是原因它增加价值,而不是让你开心。)
· 有的人想将来可能需要用到,于是觉得最好现在就写。(提示:这就不YAGNI了。如果不是现在就需要,那现在就不要写。)
· 看起来不是特别“额外”,相比回到客户那里去看是否真的需要,不如现在就实现了,还更简单一些。(提示:编写和维护额外的代码总是要花费更多的时间,客户实际上也很容易接近。小块的额外代码会在将来像滚雪球一样越来越大以至难以维护。)
· 程序员自己发明了额外的、没有文档化或者讨论过的需求来实现额外的功能,这些需求实际上是虚构出来的。(提示:程序员不会设定系统的需求;客户设定。)
你现在在做些什么呢?是不是都是必需的呢?
原文:Improve Code by Removing It byPete Goodliffe
- 39. 通过移除改进代码
- 用代码安全移除u盘
- Word文档用代码移除Header
- 使用jstl移除java代码
- 通知的添加和移除通过block实现
- 通过 Visual Studio 的“代码度量值”来改进代码质量
- 通过c/c++对除零代码的处理,看异常处理方法
- 敏捷开发的必要技巧:移除重复代码
- 敏捷开发的必要技巧:移除重复代码
- php批量移除UTF-8代码中的BOM
- 敏捷开发的必要技巧:移除重复代码
- 移除VBA项目密码的VBA代码
- ios 一行代码移除所有字视图
- Jquery中可以移除hover的代码
- 利用代码移除系统自带的标题栏
- 点击移除样式,再点击新增样式jq代码
- 移除单向链表中一个节点的代码进阶
- html-webpack-plugin 移除代码中的空格
- Parameters: Character decoding failed解决办法
- html5 学习笔记 API canvas1 绘制对角线
- c\c++复习基础要点09---关键字explicit c++四种类型转换
- java语言的产生
- storm入门教程 第四章 消息的可靠处理
- 39. 通过移除改进代码
- 王萏萏的战痘日记
- 相关知识整合
- 分治法求点集中的最小距离 version 0.2
- SimpleAdapter源码和VIewBinder浅析
- centos下安装PhpMyAdmin
- HR谈简历筛选之道
- 视频会议之录像模块
- 网络子系统20_传输接收软中断