程序员都有一颗工程师的心,所以当他们到一片新的场地想做的第一件事就是,将旧的一切推倒重来。是的,他们决不会满足于简单的增量劳动。
或许这种微妙的心理定位可以解释:为什么程序员进入新项目组后宁愿丢掉旧代码重新写,也不愿意修修补补。他们认为旧代码简直一团糟。
但是,事实上真是这样吗?你之所以认为旧代码一团糟,其实是由编程的一个基本定律决定的,那就是:写代码容易,读代码难。
为什么你觉...
分类:
其他好文 时间:
2015-05-16 14:56:15
阅读次数:
144
在敲写七层登陆过程中,接触了存储过程的概念,但当时还没使用。在正式的重构过程中,一点点添加,将存储过程也添加到了重构中。才正式了解了存储过程。
首先
【存储过程的概念】
存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。
存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参...
分类:
Web程序 时间:
2015-04-29 11:50:13
阅读次数:
155
本章描述的是,自己在做系统重构的时候,阅读的章节,给自己在架构方面提供很大帮助。总结出一些干货分享一下啊啊啊~~主要应用场景是编写类与接口的时候需要注意的问题。每一章不一定按照顺序更新。欢迎拍砖补充。...
分类:
编程语言 时间:
2015-04-08 15:03:29
阅读次数:
151
什么时候重构?重构是一种习惯,一种编程习惯。这种习惯让我们迅速由菜鸟转变为大牛,可以编写出高质量、优秀的程序。问题的关键就是降低修改成本与风险的方法,而这个方法就是系统重构。走出重构的第一步对每一个人来说都是一次心灵的考验,甚至许多人总是徘徊于路口踌躇不前,但一旦跨出去了,它将成为你生命的一部分。没...
分类:
其他好文 时间:
2015-04-08 13:08:27
阅读次数:
158
1. 保险索是什么?保险索就是每次重构后正确的测试方法。2. 什么是程序代码正确的测试方法?在不同的场景标准是不一样的。但与其他测试不同,系统重构在测试代码正确性方面有自己独特的方法,那就是不改变软件外部行为。3. Mock在测试过程中,对于某些不容易构造或不容易获取的对象,用一个虚拟对象来替代以使...
分类:
其他好文 时间:
2015-03-30 12:37:49
阅读次数:
111
机房收费系统已经进行了一段时间,先敲得三层,然后又推翻了敲写七层。每天拿出的时间不多,所以导致项目进行了很长时间。在完成过程中,最开始敲出一条线比较困难,各种查资料,调代码,庆幸的是代码中的难点和错误终于在努力下攻克了。
机房收费系统中,最开始时看了其他人的介绍,说什么配置文件,反射和SqlHelper。其实刚开始对这些相当模糊,配置文件和反射在设计模式中接触过,但并没有深入的理解,...
分类:
Web程序 时间:
2015-03-21 11:24:38
阅读次数:
176
1.介绍在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表。在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C、D、F里面,为了实现平滑迁移不影响对外数据业务,可以分别创建和原有数据表A和B一致的视图G和H,再实现数据层升级,不影响现有...
分类:
数据库 时间:
2015-02-24 13:45:17
阅读次数:
145
一、前言 前面我们学习了23种设计模式,只是一直没用过,这次机房重构就是让我们将学习的这些理论应用与实践。首先,机房收费的主要功能就是上机收费,一说的收费就会有针对普通用户和会员等,实行不同的收费方法,这时我们就须要用到策略模式了。 二、回想 策略模式定义了一系列的算法,并将每个算...
分类:
其他好文 时间:
2015-02-14 16:09:00
阅读次数:
117
在第一遍敲机房收费系统的时候,数据库时自己根据查询的时候需要用到哪个表,哪个字段,就直接将这些字段放在了一个表里面了。没有考虑过三范式什么的。因为上下机的时候卡号,表里面的内容是动态的,卡号总是会重复,所以连主键都没有设置就直接这么下来了。当时也不懂什么数据冗余啊什么的。现在经过了一些稍微专业点的训练,知道那么做是不行的。数据库的设计需要遵循三范式。
问题来了,将数据库根据三范式设计了,这样有时...
分类:
其他好文 时间:
2015-01-12 00:26:47
阅读次数:
196