首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

从一个简略的逻辑看严谨的软件设计

2012-09-16 
从一个简单的逻辑看严谨的软件设计我想作为软件设计人员,我们都知道软件设计的成本和软件维护的成本,哪个

从一个简单的逻辑看严谨的软件设计

 

                  我想作为软件设计人员,我们都知道软件设计的成本和软件维护的成本,哪个大。一个软件的维护成本可能比设计的成本要多出好倍,但是,我想说,如果有一个好的软件设计,那么会大大降低软件的维护工作量的,这一点,是我深刻体会到的。

            下面我们来举一个例子,这是我在一个实际的项目中所犯的错误

             界面的主要内容如下:

从一个简略的逻辑看严谨的软件设计

 

                 两个下拉框的属性设置如下图所示:

           从一个简略的逻辑看严谨的软件设计

                   我原来的代码是这样的:

           

 if (ddlAdult.Text != "不携带")            {                orderInfo.FamilyMember = "是";                orderInfo.AdultCount = int.Parse(ddlAdult.SelectedValue);                  }            else            {                orderInfo.AdultCount = 0;            }            if (ddlChild.Text != "不携带")            {                orderInfo.FamilyMember = "是";                orderInfo.ChildCount = int.Parse(ddlChild.SelectedValue);            }            else            {                orderInfo.ChildCount = 0;            }

 

             所犯的错误:

            自己想当然地把下拉框的Text属性认为是listItem(当前选择项)的Text,其实它所指的是selectedItem的value属性。所以说它永远也不可能等于“不携带”,那么orderInfo的FamilyMember也就永远为“是”,所以,造成的后果是,即使用户选择的都是“不携带”,那么是否携带家属也会显示为“是”。但是对于携带家属的情况没有影响。错误现象如下图所示:

           从一个简略的逻辑看严谨的软件设计

 

            下面是修改后的代码:

            

            if (ddlAdult.SelectedItem.Text == "不携带")            {                orderInfo.AdultCount = 0;            }            else            {                orderInfo.FamilyMember = "是";                orderInfo.AdultCount = int.Parse(ddlAdult.SelectedValue);            }            if (ddlChild.SelectedItem.Text == "不携带")            {                orderInfo.ChildCount = 0;            }            else            {                orderInfo.FamilyMember = "是";                orderInfo.ChildCount = int.Parse(ddlChild.SelectedValue);            }


           总结:

                  当时这个需求是后来客户才提出的,所以在做的时候,有些仓促,可以看出,写的if语句也很烂,降低了代码的可读性。同时,通过这个问题反应出了一个在程序设计中一个很重要的思想,那就是要做到“严谨”!我不可能说如果做到“严谨的设计”会把所有的错误避免掉,但是,起码会减少一些低级的错误。有的时候,这些低级的错误甚至是致命的!试想如果开发的是一个医疗系统、金融系统。

                       自己当时想的是,快点把它做完了,功能完成了,就好了,这样用得时间就少了。可是回过头来想一想,真得是节省了时间了吗?出了错误,客户就会报怨,自己又想去找错误,找到错误又要调试、改正,审核数据,我想如果用这些时间用在设计上,应该是绰绰有余的。
                 

                 在此提醒自己和有这方面问题的博友,要用心去做软件!

2楼lfmilaoshi昨天 20:36
全心全意为人民服务。。。n米老师
1楼lbq613613昨天 20:03
设计,就不能简简单单实现啦!
Re: yjjm1990昨天 20:12
回复lbq613613n对啊,前期设计很重要!

热点排行