经历一个多月的时光机房重构个人版终于结束了,这次重构更深刻的理解了面向对象设计,分层设计的好处就在于我们可以重复的利用代码,因为每个功能都是分开的,它们之间没有密切的联系,耦合性很低,这样我们以后就能很好的进行维护,而不会牵一发,动全身。下面就是我具体的一些收获总结。
一、多用设计模式
一开始的时候我就用了抽象工厂+反射和模板模式,后来验收的时候师傅说太少了于是乎就多加了几个,总的下来应该是6个,除了上面两个,又加了外观、职责链、策略、单例等模式,对设计模式又理解了很多,所以这次机会我们要好好的把握,多加写设计模式,这是我们面向对象设计的第一个软件,也是最全面的一个,能实现多少就努力的去尝试。
二、用EA巧画图
软件设计就是代码未动图先行,一般就是先是原型图,这个之前的博客中也有提到,这里主要说下EA,这个工具感觉挺好的,我们自己要善于利用啊,给大家推荐一篇博文以供参考:http://blog.csdn.net/xiaoxian8023/article/details/8276047
三、vs使用小技巧
听师傅说现在公司开发用的就是vs,这么好用为什么不用?这次重构了解了很多关于vs使用的小技巧,比如方法注释的时候只需要连续打出三个单引号就好了,还有修改类模板,当新建一个类的时候自动添加注释,这些都是我们应该掌握的,下面还有一些重构中可能会常用到的:
1、快速定位未完成的代码
在未完成的代码前注释“//TODO:+自己所需加的注释”。
选择“视图”→“其他窗口”→“任务列表”或者快捷键“Ctrl+Alt+K”即可。
2、存储和调用自定义代码段
首先将“工具箱”固定,然后选中要存储的代码,然后拖动选中的代码到工具箱中,工具箱会存储刚才被拖进去的代码段,最后双击修改一下被拖进去的代码名字即可。调用的时候,只需点击工具箱中的目标代码段,拖动到指定位置即可。
3、插入系统自带代码段
在这里主要说的是#region和#endregion,可以手写出来,也可以自动添加:
“编辑”→“IntelliSense”→“插入代码段”,或者快捷键:Ctrl+K,Ctrl+X
4、整理代码快捷键
快捷键为:Ctrl+K,Ctrl+D
四、对数据库的利用
我们要会用并且熟练掌握数据库操作知识,像前触发器、后触发器、存储过程、视图、函数,还有一些高级查询语句好好掌握,这样我们会很省时省力,利用这次机会再好好的学习数据库吧,还记得师哥给我们说的产生死锁的可能吗,大家可以多查查多试试。
五、编码规范
我觉得程序员的专业素养其实很多体现在编码的规范上,我们在设计的时候要注意编码规范,一个好的设计不是说多高大上让多少人看不懂,而是让人一眼看去就明白了。这就需要我们多注意规范,多看一些专业方面的知识,时刻提醒自己我们可是专业的啊!
六、学会使用专业工具——MSDN
一开始不理解反射是怎么回事,上网查了很多说法,但是很少能有说明白的,这个时候就要用到我们的专业工具MSDN,下面是我自己的反射编码和MSDN的讲解。
Assembly 类
抽象工厂+反射实现各种功能,具体格式如下:
Private SharedReadOnly AssemblyName As String = "DAL" '声明程序集的名称 Private Shared ReadOnly db As String =ConfigurationManager.AppSettings("DB") '读配置文件,连接相应数据库 ''' <summary> '''创建一个UserLoginDAL,用户登录实例 ''' </summary> '''<returns>返回IDAL.IUser的一个接口变量</returns> ''' <remarks></remarks> Public Function CreateUser() As IDAL.IUser Dim className As String = AssemblyName+ "." + db + "UserLoginDAL" '定义类名初值为DAL.WorklogDAL Dim iuser As IDAL.IUser '定义一个接口 iuser =CType(Assembly.Load(AssemblyName).CreateInstance(className), IUser) Return iuser End Function
但是一直对Assembly类不是很理解,查阅csdn方才明白,解释如下
当然也有很多时候我们的MSDN说的云里雾里的,但是这就像字典,它可能是更专业一些的资料和说明,很多是英文的说明,当然不是很难,我们都能看懂,但是要是看翻译的可能就会把你带到误区,所以我们还是尽量和专业标准靠近的好。
七、站在巨人的肩膀上,而不是趴
我们重构中有很多问题,但是我发现我们遇到的问题都能在网上查到,并且很多都是提高班的师哥师姐,这说明一我们没有走弯路,二我们的成长可以更快。这不是说我们直接把代码搬过来套用,而是理解逻辑,有不懂到懂得过程,这会提高我们的效率,但是如果是直接照搬那可就得不偿失了,大家不要错过这一次学习的机会才是。而且听师傅说以后实习过程中我们也会遇到很多问题,那时候真的是完全靠自己了,不可能什么都问别人吧,多锻炼自己的自主学习能力,多动脑子勤动手,久而久之我们就会养成一种不懂就查的好习惯,也会让自己接受新知识的能力更强。现在科技日新月异,我们必须能很快的掌握新知识新技能才不会被时代落下啊,所以要做到,站在巨人肩膀上。
八、艺术编程,代码如人生
编程就是没有你做不到的,只有你想不到的,工具就在你手中,你想怎么设计就怎么设计,但是如何更好的设计那才是关键。乔布斯不会编程,但是他有很多好的想法,好的构想才让他成为科技之父,只会编码不会构思的那是码农,又会编程又会构思,那可就超过乔布斯啦!换到我们生活中也是一样,为什么有的人把自己的生活规划的井井有条,高效轻松,而有的人却忙忙碌碌,却一天没有什么作为。代码如人生,时常把两者结合起来,我想我们就会爱上编程了。
每完成一个新的项目就会有很多收获,自己又上了一个台阶。其实我们都在慢慢的蜕变,从一个菜菜鸟变成菜鸟,终有一天会变成大师。我们能做的就是踏踏实实完成每一个项目,认认真真的做好每一个总结,这些都是我们宝贵的财富啊!