上司给一个小模块,怎么设计呢?
1 向上司询问这个模块的功能,写出这个模块的用例。
2 向上司询问模块的接口,输入什么,输出什么。
3 想一想上司给你介绍的任务能不能完成,却什么东西,什么东西是多余的
4 设计自己的类
5 开始编码
6 测试
在4,5,6的过程中,设计自己的类占40%,调整自己的类和结构占20%,编码占10%,测试占30%
要想设计好自己的类,用例非常重要,他既是设计类的前期准备,也方便了自己的测试。
例如:老板需要让用户写入自己的名字和密码登录到系统
那么就得需要询问,是否用户名和密码需要加密,询问接口
以下是我自己的思考过程, 由于要用户登录,那么我就要设计一个用户类user,里面有两个属性username,password,然后有一个方法,就是加密。这样这个类基本设计完事。再思考一下,用户得有权限,不能每个用户都以同样的方式进去,那么我可以在里面加一个权限permission的属性,即使老板没说,但是我准备留着扩展。好,这回有了三个属性。那么方法呢,一个加密方法。这是我想到了,对于加密来说,他没有用户名什么的这个概念,只有明文,密文,密钥,那么我就想到了设计一个加密类,让我这个加密方法调用加密类里的方法就是了,至于加密类里怎样加密,解密,采用什么方法,我就不考虑了,那时加密类干的事情,不是我用户类干的事情,以后加密方法的更改与我用户也没有关系。用户没有进去怎么办,那么我就抛出异常吧,于是我设计了一个用户异常类。这样我就设计出三个类。
于是我开始编写代码,我就要new这个user对象,然后为username,password复值,感觉麻烦,得了,在加几个构造方法吧,可以传入参数,使之写起来更快些。然后再去编码,测试。
以上是我的设计思路,有不足之处,请指正。