您的位置:首页 > 其它

走在机房重构的路上之总结篇

2014-08-25 17:00 253 查看
机房重构的项目建立于2014年6月10日,而真正动工却差不多在暑假开学,经历了一个月的奔跑终于奔向冲刺。虽然是一个简简单单的系统重构,但是其中得到的锻炼和需要锻炼的地方却有很多。

起初,既三层实现登陆、充值、退卡功能后的七层之路走的不是不顺,是特别不顺,每天只能守着勉强成功的登陆窗体对已经产生的错误进行无奈的感叹,也在三层重构和七层重构之间徘徊许久,不想回去三层重构,一直认为三层搞清逻辑之后也不一定我的七层能顺利诞生,就这样一直僵持在七层的崩溃边缘。他曾经提议我回去三层,因为这个我甚至直接急眼,但是不管怎么说这些都已经是过去式了。




但这里还有一个故事:有一天向老爸提起那次的处境,不断质疑我的逻辑能力和思维,“老姜”告诉我,停下来好好想想,很多时候停下脚步只是为了更好的前进,既然先三后七说明它们之间有一定的联系,而且是由浅入深的过程。放下电话我开始用笔在A4 纸上勾勒着登陆窗体的参数和数据的传递,登陆功能中包括一个查询和插入的操作也就是说,剩下的功能中的查询和插入无非是依葫芦画瓢(当时还没有有参数、无参数的概念),就这样边琢磨边缕思路,其实那时候是最难过的,想向前奔跑却被脚下的小石头绊倒后一直爬不起来。

从那次整理思路后,每次的代码逻辑上出现问题就开始对照那两张纸,慢慢的摸索,虽然是爬着走,但是好歹也走着呢。这样的日子一直持续到某一天,突然摆脱两张纸的那天。

而不管是机房重构的过程中还是验收的过程中我整理出下面几点需要注意也需要成长的,不仅仅是系统的构建更多的生活中的为人处事。

1.换位思考

作为编程人员,产品的最终面向对象是用户,所以我们要时常站在用户的角度,通过用户的眼光审视我们自己的系统,不仅仅是简单的功能实现,更多的是一种人性化的考虑和一种全面看问题的眼光和角度。

例如,在学生的注册窗体中,对卡号和学号位数的检测:




我的方法是:在点击存盘时对各个文本框进行检测,卡号限制为4位,学号限制为6位,卡号项和学号项最大长度都是20;代码如下:

对卡号的位数进行限制
        If txtCardNo.Text.Length < 3 Or txtCardNo.Text.Length > 5 Then           '将卡号的长度进行限制
            MsgBox("必须输入四位的卡号,请重新输入卡号", vbOKOnly, "提示")
            txtCardNo.Text = ""
            txtCardNo.Focus()
            Exit Sub
        End If
        '对学号进行限制
        If txtStuNo.Text.Length > 7 Or txtStuNo.Text.Length < 5 Then
            MsgBox("输入的学号必须是6位")
            txtStuNo.Text = ""
            txtStuNo.Focus()
            Exit Sub
        End If


虽然注意到了细节,但是这样带来的麻烦就是用户必须在点击存盘后才能出发该判断的方法,不是太人性化,那么怎么改?

这样改:

将检测位数的这两个方法放在文本框失去焦点的事件中实现,这样省时省力,程序运行也没有太大的压力,省去了部分的存储空间。

2.站在管理者的角度看问题,学着具备全局观

机房系统中有三个小功能需要注意:修改密码 、退出和进入主界面时获取权限,修改密码和权限的确定都需要想方设法获取当前电脑登陆的用户名和级别,而修改密码则需要获取当前的用户名和密码。那么我们在实现登陆的功能时就需要将全局观提上日程:设置一个全局变量将登陆的用户名、级别和密码都存放在该全局变量中,后期的功能只要需要完全可以直接拿过来用,这里不仅仅是全局变量的问更多的是全局观的事儿,不管是米老师还是师傅开会时常开会提到全局观,总感觉空泛现在终于有实实在在的例子和体会了。

像师傅之前开会说的:你站在管理者的角度(即使你不是一名管理者),你拥有的就是管理者的思想,做得就是管理者的事情;而站在被管理者的角度,境界再高也只是一个被管理者。

3.做事可以有约束但不要被束缚

这话怎么说 ,具体体现在机房收费系统中就是:机房收费系统只是一个系统参照,所谓的重构本来就是一个自我设计的过程,所以机房收费系统的原本只提供功能和逻辑参照,而不应该直接束缚和牵绊着我们的思维和前进的脚步,具体体现在哪里:




师姐验收的时候说:如果你不提示这个,我也不知道你还有这个功能可是一旦提醒我就先对你的系统的满意度降低了一点。我这算什么呢,也算是自己拆自己的台,可是为什么就这样建窗体了呢,我也不为自己找借口,当时的确没有想那么多。

另一点就是,对思维的扩展:

还是注册的窗体中,当验证卡号不存在可以进行注册后,能不能实现配备的数据库自动分配注册的卡号,也就是说:注册过的卡号已经在数据表中进行排序,数据库自动将下一个要注册的卡号通过每一层反馈给U层,当可以进行注册时,直接将该卡号填充在卡号的文本框中,这样可以保证不落卡号,也可以为值班老师省去很多的麻烦。(PS:我还没有去实现它)

验收完的那天晚上师傅给我讲到很多我没有注意过的问题,甚至是想也没有想过的问题。也许这就是思想,这就是境界。

4.坦然面对错误和困难

从小学开始认字起,我们就听过一个道理:失败是成功之母。可是不得不承认,面对困难或者某些错误我就蔫了,霜打的那种蔫儿。而且在这次的机房重构中我也发现我的一个缺点:不管是遇到错误或者其他突发事情我都不能坦然面对,而坦然也就那么一个半天,虽然之前有过这样的教训,可还是犯了两次同样的错误。经历了这次机房重构,我开始变得比以前沉住气,但只是一点点。现在对代码的那些错误也没有那么慌乱,最起码不会因为一个错误乱了阵脚。



由于第一次机房的失败经历,这次的机房算是一个进步,但是回想过去的这一个月,构建的不仅仅是一个小小的机房收费系统,更多的是自己的考验和锻炼。所以每一个项目都是对我们的历练和鞭策。机房收费虽然完结了,但我们的历练和成长却不能停止。所以不要停下前进的脚步,一路向前!


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: