博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Big Ball of Mud》阅读总结
阅读量:6626 次
发布时间:2019-06-25

本文共 875 字,大约阅读时间需要 2 分钟。

大泥球(Big Ball of Mud)

1. 定义:

  大泥球是指一个随意化的杂乱的结构化系统,只是代码的堆砌和拼凑,往往会导致很多错误或者缺陷。

2. 缺点:

  无法使得系统内的信息得到更好的控制和共享,使得信息失去了应有的价值。大泥球般的系统的整体结构没有得到很好的界定,也就使得大泥球越发的复杂和杂乱无章。最终会使得这个系统的代码不被程序员理解,更无法对其修复,无法满足用户的需求变化。

3. 产生的原因:

  首先,程序员在编写程序或是系统时遇到问题后的解决方法,往往不是合适的或者最优的解法,而是方便修改的,变动最小的,这就为以后的系统架构的混乱甚至整个系统的奔溃埋下了隐患。其次,用户的需求或者编程的要求是在不断地变化的,任何一个已有的系统都随之会产生重大的变化,使得系统越来越复杂化,维护也越来越昂贵,另外编写人员的变动等等因素都会导致系统的退化,一步步变为大泥球。

  所以,可以将其产生的原因归结为:一次性代码,碎片式增长,缺少前期设计,应对需求和架构变化过晚,程序员的经验,技巧,眼界的限制。

4.避免或者修改大泥球的方法:

  首先,程序员或者设计师为了在预算中并按时交付高质量的软件,就需要关注软件的特性和功能,然后集中在架构和性能,使得软件设计初步就避免产生小的问题或者方向的偏差。其次,程序员在编写软件时要及时的解决出现的小问题或者原型概念等等,这样不会使得问题堆积导致后期的无法修改。另外,应当及时处理用户需求的变化,由于需求往往会随着时间的推移而变化,所以应当逐步的解决,并且鼓励和积极面对变化而不是掩盖问题。另外,要保持一直工作的状态,不断地维护需求和系统。但不应当进行一次彻底的检查,这样很可能会破坏系统。当然,软件系统也是在变化的,但是不同的部分会以不同的速度变化,所以应当使得它们的变化率一致。最坏的结果就是代码已经下降到了无法修复甚至理解的地步,那么就扔掉,重新开始。

转载于:https://www.cnblogs.com/wx1991/archive/2012/11/11/2765590.html

你可能感兴趣的文章
JACK——AgentManual3 Agents
查看>>
[转载] 的士速递4
查看>>
基于QT平台的手持媒体播放器项目实战视频教程下载
查看>>
一名奔三的程序猿的困惑
查看>>
嵌入式Linux裸机开发(一)——点亮Led
查看>>
搭建Websocket简易聊天室
查看>>
Oracle技术之flashback table
查看>>
PIE SDK文本元素的绘制
查看>>
asp.net 页面传值
查看>>
解决将/etc/passwd文件中1000改为0后只能guest进入系统的问题 ||ubuntu下将普通用户权限升级为root用户权限的方法;...
查看>>
【Python实战】Scrapy豌豆荚应用市场爬虫
查看>>
Linux 内核中断内幕
查看>>
CSS表示颜色、行间距、缩进、文字修饰
查看>>
echarts 重新渲染时图表重叠现象的问题解决方法
查看>>
学无止境,学习AJAX(一)
查看>>
Appium for window 如何运行inspector?
查看>>
android3D动画,绕y轴旋转
查看>>
ios mac 对照片进行JPEG压缩
查看>>
前端开发中那些不招人“待见”的功能
查看>>
iOS开发- 蓝牙后台接收数据(BLE4.0)
查看>>