程序备忘录:之七-状态的联想(2004/08/31 19:10)

原创 2004年08月31日 18:07:00
  软件测试到了后期,出现了一个奇怪的BUG。几经查找,是因为对DB中某条数据的状态Flag判断不够,从代码中反映为只有IF而没有ELSE,这样反映到系统中就出现了意想不到的效果。一般来说,出现过两次的问题就值得总结一番了,这就引出了本节文字。
  开发软件项目要接触到很多与状态有关的东西,如状态迁移。举例如:计划书状态(临时,草稿,校核,审查,审定,批准,发布,归档,作废)。暂时想到了这么多,状态单步变换尚可轻易把握,但状态可能会跳级变换及回退。这些变换主要集中在业务端,对数据表的状态字段操作应该是简单统一。假设有三级计划,各级计划有不同的状态,并且各级计划的状态相互影响,够复杂的。从设计者的角度来说,希望用尽量简单的方法实现现实的功能。但由于现实世界的复杂性,即使用最简单的方法实现也不是想象的那么容易。所以,对状态应有足够的重视。
  涉及到编程,尤其是WEB系统。单兵作战的市场已难以存在,每个项目将消耗很大的人力资源。状态的问题是一个长期的问题,从分析,设计,编码,测试。套用一句俗语:状态无处不在。如果系统分析,将业务理清楚,将状态写清楚。如果详细设计,将处理表述完整,把状态的方方面面用各种图表列详细。如果编码,将状态的准确含义弄明白,将状态与各方面(业务,DB)的联系弄明白,对状态的处理在代码中显出条理来。如果测试,更要深刻理解现实需求的东西,应该行的要行,不应该行的一定不能行。
  是否有过这种情况,一张表格在开发过程中被频频使用,且不时翻出来作为开发依据,成为珍贵的参考资料?状态迁移图是一种常见的图。还有一种二维表很有用,例如状态/动作的有效性检查。总之,在软件实现的各个阶段,要尽早地对状态结下天罗地网。

vsftpd配置教程

环境:CentOS 5.0 操作系统 一.安装: 1.安装Vsftpd服务相关部件: [root@KcentOS5 ~]# yum install vsftpd* Dependencies R...
  • aerchi
  • aerchi
  • 2017年05月31日 14:29
  • 163

Java 日期时间转换

1、java.util.Date类型转换成long类型 java.util.Date dt = new Date(); System.out.println(dt.toString());   /...
  • oyzl68
  • oyzl68
  • 2013年04月18日 16:32
  • 6691

php备忘录模式

CleverCode最近在看备忘录模式。 1 模式介绍  在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 2 模式中的角色   ...
  • CleverCode
  • CleverCode
  • 2016年11月05日 17:24
  • 1136

angular使用iosSelect插件实现城市选择

因为使用angular写一个webapp页面,里面有城市选择,为了简单一点直接使用了IOSSelect插件. 起步 npm npm install iosselect 下载文件 点击下载文件...
  • CODING_1
  • CODING_1
  • 2018年01月09日 17:09
  • 35

bufbomb实验心得及详细步骤

bufbomb是一个很有意思的,带有游戏性质的缓冲区溢出实验, 能够帮助你加深理解《Computer Systems A Programmer’s Perspective》书中第三章《Machine-...
  • q1w2e3r4470
  • q1w2e3r4470
  • 2015年04月10日 11:05
  • 8888

红黑树的研究

1 概念、原理 1.1  什么是红黑树,相对于平衡二叉树有什么优点 1.2  红黑树的规则: 根就是黑节点一个一点不是红就是黑任意一个点,到他的所有叶子节点的所有路径的黑高度都是一样的。任何路径上...
  • xiaojsj111
  • xiaojsj111
  • 2014年12月02日 19:35
  • 1209

七牛云及 HTTP标准状态码总结

标准扩展码: 1xx Informational 信息化:100 Continue 继续101 Switching Protocols 交换协议102 Processing 处理 2...
  • PEACEFUL000
  • PEACEFUL000
  • 2016年11月17日 15:47
  • 2640

安卓小项目实战之--定时提醒备忘录

写在前面:      安卓的学习也有半年多了,期间也曾写过博客,但大多都是一些琐碎的笔记,基本没用任何参考价值,这几天闲来无事,便想做个小项目来玩玩,巩固一下基本知识,并且完整的记录下来整个开发的过程...
  • wingichoy
  • wingichoy
  • 2015年05月18日 23:30
  • 2606

get,post数据长度的限制

这个问题在我的开发中也遇到,所以在此贴出来(也是在网上搜出来的,呵呵) 这是原贴地址http://blog.csdn.net/somat/archive/2004/10/29/158707.aspx...
  • u011220648
  • u011220648
  • 2018年01月04日 15:53
  • 18

七牛---Pili直播推流SDK问题总结

以下为分类总结的Pili推流端的代码:package com.dxy.cloud.myapplication; import android.app.Activity; import android....
  • netdxy
  • netdxy
  • 2016年07月01日 09:54
  • 9165
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序备忘录:之七-状态的联想(2004/08/31 19:10)
举报原因:
原因补充:

(最多只允许输入30个字)