说完了经验,再谈谈技术方面,其实对于技术,师哥师姐们都已经写了好多博客,这也是我在敲机房几乎没写这方面的博客的原因,不过别人的再好也是别人的,下面说说自己的。
(一)数据库的设计
其实虽然说是数据库的设计,但是自己并没有设计属于自己的数据库,自己刚刚开始敲的时候师傅虽然说,数据库还是自己设计比较好,但是我当时竟然以为是照着建一个类似的,当然我也这样干了,结果敲代码的时候发现,原来自己代码的简易程度和数据库设计的合不合理密不可分,明明如果数据库建的好,一两句代码就能解决,就因为数据库太啰嗦,导致代码也特别混乱,所以说,要想有一个好的系统,首先要有一个好的数据库。
(二)主界面竟然是这样的
刚开始敲的时候建主界面,就很随便的建了一个窗体,然后开始往上面加东西,加的差不多的时候思思告诉我:“那不是一个窗体,那是一个MDI窗体。”然后她告诉我学生信息管理的主界面也是一个MDI窗体,当时觉得学生我明明用了一个普通窗体也没啥问题啊,然后我查了一下什么事MDI窗体(多文档界面),有一个人在博客中是这样写的:所谓,MDI,是Multiple Document Interface的缩写,在VC++开发时,如果使用MFC,则创建工程时,一般会引导用户去选择单文档窗体还是多文档窗体。MDI是微软为开发人员提供的用来创建同时操作多个文档的编程接口。所谓Document相当于一个线程,它在属于自己的空间中,处理特定的事务。用户可以查看或者完成数字报表制作、文本编辑或者画图等操作,仅仅通过简单的移动鼠标从一个空间到另一个空间。
咱们常用的单文档界面,在同一时刻只能打开一个窗口,每次只能打开一个文档,处理完一个才能打开另一个,像NotePad(记事本)或Microsoft Paint(画笔)这样的窗体。它一次只处理一个文档,降低了编程的复杂度并减少了运行程序时所需的资源,对某些小型应用(比如文本编辑器或小型图像编辑器)可以采用这种类型的窗口应用程序。
在诸如文本编辑器、图像处理器这样的应用软件中,通常需要同时处理一个或多个文档,每个文档独立地执行软件所需要的功能。这种需要在一个窗体中同时包含多个子窗体的应用程序通常成为多文档(MDI)应用程序,子窗体之间可以进行数据交互,也可以互不相干。Visual Studio 2010开发环境就是多文档应用程序的典型实例。通常情况下,多文档窗体应用程序具有以下几个特点。
分级管理:所有窗体分成父-子两级。父窗体作为容器管理子窗体,一个父窗体可以有零个或多个子窗体。
独立显示:各子窗体根据需要独立地处理任何类型数据,并显示到界面,与用户进行交互。
并发处理:多个子窗体可以同时在后台处理数据,且相互之间可以进行交互。
容易修改:当某个功能需求发生变化时,只需要修改对应子窗体,方便快捷。
容易扩展:当需要增加某个功能时,只需要增加对应功能的子窗体,并添加到父窗体。
以上可以看出,单文档和多文档窗体各有各的好处,而我们的机房收费系统因为有很多的功能,为了方便管理,加强控制,所以选用了MDI 窗体。
(三)结账是个大问题
验收了两遍,最使我难看的应该就是结账这个窗体了,敲这个窗体的时候,我问了很多人,当然每个人有每个人的理解,他们也是这样告诉我的,结果验收的时候,我发现自己的钱怎么算都不对,仅仅是退了一张卡,机房就赔了好多钱。。。。因为结账这个窗体是参照着师姐的敲的,所以导致自己的代码很混乱,当认真研究的时候就发现很多代码都是在做无用功,明明上面已经写了一遍,结果下面又来一遍,然后删删改改,好长一段代码就被改的剩下一小段了,而这时再看自己的代码,一眼就能看出来问题出在哪里,一点不像之前生怕改错了哪里导致一步错,步步错。
(四)下机没想象中那么难
他们老是说下机是个难点,但是真的到最后敲的时候就发现,其实并没有想象中那么难,就像自己把他想象成了大老虎,真的遇见了才发现只是只凶一点的猫儿,先把自己的逻辑搞清楚。
逻辑搞清楚了,就会发现原来这么简单。代码很简单,都可以写出来的。
(五)报表最不能迷糊
有日报表和周报表两项,但是其实他们显示的东西差不多,周报表比日报表多了一个日期区段的选择(不造我这样说对不对,可能理解上有偏差,请给我指出来)做报表用到了一个第三方控件,这个控件的使用还是很方便的,网上也有很多详细的教程,这里就不多说,重点说一下这个钱是怎么算的,以周报表为例,一共有五项,上期充值卡余额:也就是本条记录中上一条的本期充值卡金额。本期充值金额:本期所有的充值。本期消费金额:所有卡的消费。本期退款金额:所有退卡时退还的钱。本期充值卡余额:也就是上期充值卡余额+本期充值余额+本期消费金额-本期退款金额。之前鼓捣报表钱怎么都算不对,后来发现是因为我的名称命名的不太好,所以在算钱的时候加减会弄错。
敲完了机房收费,就会发现代码其实是很好敲的,但是敲代码前,要有自己的想法,自己的逻辑。