从一个圈套For循环来谈软件设计[原创]

原创 2004年06月05日 20:45:00

从一个圈套For循环来谈软件设计

武汉华中师范大学信管系 谢刚

摘要:就自己的一次实际经历来谈谈软件设计过程中应该注意的一些细节

关键字:软件设计 需求分析


     前段时间,跟外面公司设计一个MIS系统(使用工具是PB8.0+MSSQL),
是一个关于安全生产的。为了体现我们设计人员的高质量服务,我在《需求说明》之外又帮他们设计了一个功能,就是:在每次这个功能窗口打开时,到数据库中去自动检测看看有没有冲突数据;也就是说,两个一模一样的器材是否被安装了到了两个不同的机器上。这个功能,我相信很多朋友都会写,就是两个循环一圈套就完了。是的,我当时的确是用两个FOR圈套来写的。

     不错,设计的和想的都很不错。并且是做的《需求说明》之外的事,开始也得到了公司的一点点“点头”。后来发生的事,就叫我苦笑不得了:
     昨天,当将他们公司的实际数据导到我们的MS SQL-Server中以后,(一共是9983条记录,每条记录是20来个字段);发现我的那个功能窗口打不开了。死活是进不去啊!当场无奈。

今天下午经过“黑盒”和“白盒”测试后,经过无数次测验,才发现原来是这个10000*10000的自动检测出了毛病。就是说,在执行这个10000*10000的循环时,一般的机子本来就有点吃不开,在这个情况下,还在数据库中做了大量的比较工作和验证。所以,就算是AMD1500的双CPU和1024M的内存也有点累的说。

总结:
1,只要是《需求说明》上面没写的功能一律不要自作聪明加上去,因为这样你顶多只会得到公司的一点点“点头”,没有什么实际好处。相反,时刻会给你埋下个定时炸弹
2,设计程序时,一定要考虑算法,正所谓:程序=数据结构+算法,的确如此
3,讲究代码效率的同时,考虑程序执行效率
4,书写详细的注释和说明(这个习惯是非常重要的)。
5,每次修改都做修改记录,每次测试都记下测试结果和测试数据类型和方法。
6,认真体会《软件工程》知识,不要片面的认为其无用。

以上是偶的一点点想法,今天比较高兴,感慨到此。不对的地方还望兄弟姐妹们斧正。xiegang亲笔与2004.06.04下午;虽然不是什么优秀文章,但是请大家转帖时请注名出处。谢谢合作

从一个圈套For循环来谈

  • zgqtxwd
  • zgqtxwd
  • 2008年04月27日 08:03
  • 158

一个很菜鸟的问题(原创)

我是一个很业余的程序员啦,在做一些基于中间件平台的web系统开发,很多同学都问我一个很菜鸟的问题:jsp,javascript,asp它们的区别在哪里。当然我的回答也许不是很准确啦,不过我们大家一起来...
  • squirrelling
  • squirrelling
  • 2005年03月05日 00:20
  • 688

从一个面试题来谈C++的多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。它的继承、重载、多态等特性为其自身镀上了一层层神秘的色彩,这也是为什么C++精彩的原因,如今,众多语言模仿C++的特性,更说明了这样的性...
  • wajh07
  • wajh07
  • 2014年05月23日 18:40
  • 1082

for嵌套循环"大圈套小圈"思想

package zhang.com; public class Tuxing { public static void main(String[] args) { // Test1(); ...
  • zhangjinru123
  • zhangjinru123
  • 2016年07月19日 20:35
  • 470

黑马程序员之C#编程基础学习笔记:从一个整数数组中取出最大的整数。

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Test...
  • xutingzhou
  • xutingzhou
  • 2012年08月31日 08:26
  • 2186

for循环的“大圈套小圈思想”

看了老毕的基础视屏一个多月,发现很多东西都挺有意思的,就想着用文字记录点什么。因为10期快开班了,之前也不怎么使用博客,现在发现时间很紧了,就把笔记中的一些东西摘出来,给大家分享下。这是第一篇。 ...
  • foreverhuylee
  • foreverhuylee
  • 2014年03月15日 09:37
  • 2056

从一个程序员的角度谈"数据"

可以想象,几乎世界上的任何事物都可以用数据来表示。     先从计算机的诞生来说,最初计算机的产生是为了替代人进行大规模的计算。计算机主要的两个部件是CPU和硬盘,CPU的作用是用于控制和计算数据,硬...
  • xuelei90
  • xuelei90
  • 2013年10月17日 08:32
  • 346

如果你们都忘记了鼓励原创,那,我们来 - 2017年度原创IT博主全网评选

2017最后一个月, 当全世界都是各种年度总结,奖励的时候, IT博客圈似乎已经被人遗忘。 而, 那些还在半夜,加班写博客,分享自己经验 的热心程序猿们, 依然,吭哧吭哧的写着, 为了几...
  • kjkjer33
  • kjkjer33
  • 2017年12月04日 09:49
  • 88

MFC从一个对话框向另外一个对话框发送消息

/*方法一:通过用SDK的标准API来查找其他对话框窗口返回句柄,并且发送信息HWND hWnd; //通过SDK的FindWindow函数得到目标窗口的句柄,TriTest为目标串口的Caption...
  • gukesdo
  • gukesdo
  • 2011年04月02日 20:07
  • 2697

从js数组中随机取值

//从数组中取值  function getArrayItems(arr, num) {       //新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组;       v...
  • vigor512
  • vigor512
  • 2013年11月08日 11:27
  • 1056
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:从一个圈套For循环来谈软件设计[原创]
举报原因:
原因补充:

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