β

【随笔】记一次网站重构的流程

.NET编程学习 176 阅读
c#

这段时间改了个网站,网站由他人开发,以前也由他人维护,增加功能什么的。但是朋友觉得维护费用有点高,而且维护不方便,因为开发网站的这个人不是本地人。所以朋友花钱将源代码买来,将源代码交给我,让我帮他改“点”功能。

朋友改的功能很简单,我大体走了下思路,应该不用花费太多时间,也应该不难。拿到源代码,开始看代码,数据库的设计还好些,表、字段、关系、存储过程设计的还好些,读起来方便,但是看代码的时候我吃惊了,asp.net的项目,没有注释,函数、变量命名不规范,简单的面向对象,但是对象设计不合理,根本就没有什么设计模式的概念。有些功能函数太长,一个函数功能太多。

一开始想着不看了,直接改吧。反正一点简单的功能,改好就可以了。定位到需要修改的页面,加入需要的功能,数据库主要涉及表的一个字段和几个存储过程。而页面只涉及一个,用了不到2个小时改完。给朋友演示运行正常,朋友觉得还不错,就说以后就让我维护了,每个月给我点费用。好事是来了,但是代码涉及到很多的问题,首要的问题是对代码进行重构。我本想在原先的基础上修改,不过改了一下,马上打消了这个念头。最后决定使用原先的css,数据库,在加上手头上就有的一些库,重新写一个项目。

一.js的重构

js的重构比较简单,所以先从整理js入手。以前的页面到处是js,有些函数在多个页面出现。整理函数,修改变量名和函数名,将多次用到的函数放到一个js中。将常用的js文件,放到一个js文件中,然后在页面中只引用一个js。

二.css的重构

在重构js的时候,就发现了css的设置不合理。在重构asp.net 代码时,就不得不修改css了。因为定义的框太多,但是这些框的结构是基本相同的,最大的不同就是颜色,字体和里面的li样式,a的样式。我们可以使用class来区分字体颜色等。如:

<div class='box'></div>
<div class='box pink'></div>
<div class='box pink font14 ablue'></div>

三.asp.net的重构

也是最头痛的地方,页面多,代码多。只能从最简单的地方入手了
1.修改变量名,函数名。将常用的函数放到一个文件中如Functions.cs
2.修改函数,将函数的功能改为单一职责。多次用到的函数放到Functions.cs中
3.对Functions.cs中的函数进行分类,将功能相同的函数或在类中引用的函数分类的提取出来放到相关的类中
4.到这一步,函数基本已经操作完毕了。开始修改数据库操作类,换成自己的类库
5.在数据库类中,将传递字段改为传递对象(即加入业务实体Model)。传递字段函数保留
6.加入业务层。数据不直接传递给表示层,而是传递给业务层。业务层处理包装数据,将数据传递给表示层(aspx)
7.表示层只负责显示数据
8.合并部分ashx文件(即ajax使用),例如manage(管理)的删除操作使用了很多ajax来操作数据,以前是一个ashx对应一个删除功能。我将删除功能合并,ajax中传递type和id。
9.将部分功能改为自定义控件,方便调用
10.修改url,将全部的绝对路径改为相对路径
11.重构完毕。

原创文章,转载请注明: 转载自沉默的小丑

本文链接地址: 【随笔】记一次网站重构的流程

c#
作者:.NET编程学习
.NET编程技术学习网站,工作学习主要面向C#,Javascript,jQuery,CSS3,Html5,Sql Server等
原文地址:【随笔】记一次网站重构的流程, 感谢原作者分享。

发表评论