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

               机房重构的项目创建于2014年6月10日,而真正动工却差很少在暑假开学,经历了一个月的奔跑终于奔向冲刺。虽然是一个简简单单的系统重构,可是其中获得的锻炼和须要锻炼的地方却有不少。数据库

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

          

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

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

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

 1.换位思考对象

         做为编程人员,产品的最终面向对象是用户,因此咱们要时常站在用户的角度,经过用户的眼光审视咱们本身的系统,不只仅是简单的功能实现,更多的是一种人性化的考虑和一种全面看问题的眼光和角度。blog

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

         

           个人方法是:在点击存盘时对各个文本框进行检测,卡号限制为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.坦然面对错误和困难

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

 

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