回顾这个项目,我将其分为四个阶段:(一)、熟悉需求、画图、设计数据库,将三层登录改为七层;(二)、增删改查各敲一条线;(三)、剩余功能的设计;(四)完善系统。现在再看这段历程,很奇怪我在第一和第四环节上花费的时间占了绝大部分,也更深刻地感受到了设计软件不仅仅是敲好代码这么简单。
经历了两次验收,第一次师傅狠批了一次,回头又修改了一个星期,第二次验收通过,下面从这几个角度来对这次机房重构做下总结:
一、细节
所谓“细节”,从需求分析开始,好多方面如果没有别人指出来,自己很难发现问题所在,具体体现在以下一些方面:
(1)界面窗体风格是否统一、边框的宽度,字体是否统一用相同的格式、大小……,每个子窗体弹出来的位置是否一致?
(2)Msgbox是否都有相关的标题?图标是否会因为每次提示内容不一样而改变?选择的按钮是否也会因为需要而变化?
(3)文本框是否什么时候都能够输入?输入长度是否有限制?就像注册“卡号”,MaxLength如果设置为9,那么有没有最低位的限制,要从0~999999999吗?还是考虑结合实际情况从100000000~199999999呢?
(4)下机之后提示的下机信息是否可以在几秒之后自动消失呢?
(5)DataGridView是否每次能加载出HeadText?是否每次没有最后一行空行呢?
(6)各个数据表之间是否有约束?还是每张表都是独立的表信息可以随意更改?数据表字段是否会有冗余?
幸亏在第二次验收之前,这些个问题都解决掉了。
二、逻辑
即使本着全心全意为人民服务的思想去做,仅仅凭着个人的力量,想要一次做好一个系统,很难,有些问题觉得自己考虑很周到,但是还是会漏洞百出。这就需要后期不断的找人来帮忙点系统了,每次发现一个问题,更应该是兴奋,发现了自己逻辑上的不足,才能下次做的更好。
(1)如果把一般用户当做“学生”来看,那么一般用户在下机的时候是否能够输入别人的卡号下别人的机子呢?
(2)正在上机的卡,有没有想过这个时候不能退卡呢?一旦可以,这将是一个致命的bug啊,公司得为此亏损多少钱。
(3)突然间停电后,正在上机的用户该何去何从?
(4)一张卡注销之后,究竟这个卡还能不能被别人复用?是否可以激活?
(5)到底是一人对应一张卡还是一人可以有多张卡?各自有什么优缺点?
(6)上机过程中,金额快要不足时是否会有提醒?
在逻辑上,自己犯了上面中的一些问题,也有和别人交流之后自己做的很好的逻辑处理过程,逻辑这块,认准了就去做了,切记改来改去,最后四不像。
三、代码
这块师傅在验收的时候也比较严格,通过这次系统,代码的层次、结构,无用代码的删除,代码精简的要求,B层代码中逻辑判断的运用,让我感受颇深。
其次,就是注释,关于块注释、单条语句注释、注释中所要写的内容、注释与代码的位置……我想在合作机房的时候,这些当时的问题都是我们的垫脚石。
四、思想
“思想上移、行动下移”,是这次重构最大的感受,从4月20号开始到6月12号,将近两个月,时间虽然长了点,但是收获真的是很大,这次相比上次的VB版本机房系统完全就是天上和地下,很重要的一点“交流”,有的点子就是在交流的过程中国突然间蹦出来的,交流过程中通过学习别人优秀的代码,让自己的代码更加规范、与人交流时候,让自己的逻辑更加清晰。
重构完了,现在计算机学起来越来越有劲了,加油!