项目已接近尾声,先总结下吧,算是给下一个项目点经验
面象对象编程的精华在于:提高代码的复用率,使维护起来变得容易,尽可能的减少对现有代码的修改.由于开发中经常碰到代码的重用,所以对此有比较深刻的印象.
在工单管理模块检修中,用到把superMap的选择集填充到excel表格中,
Code
switch (objSelection.Dataset.Name)
{
case "阀门":
s[0] = "阀门编号";
s[1] = "口径";
s[2] = "材质";
s[3] = "连接形式";
s[4] = "所在道路";
break;
case "现状管线":
s[0] = "管段编号";
s[1] = "管径";
s[2] = "管材";
s[3] = "连接形式";
s[4] = "所在道路";
break;
default:
return;
}
objRecordset.MoveFirst();
for (int i = 0; i < nRows; i++)
{
for (int j = 0; j < 5; j++)
{
a = s[j];
strValues[i, j] = objRecordset.GetFieldValue(a).ToString();
}
if (objRecordset.IsEOF() != true)
{
objRecordset.MoveNext();
}
}
Excel.Range StringRange = (Excel.Range)oSheet.Cells[9, 1];
StringRange = StringRange.get_Resize(nRows, 5);
StringRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
StringRange.Value2 = strValues;
oSheet.Cells[10 + nRows, 1] = "管网所领导: 制作: 操作人: ";
oRange = oSheet.get_Range("A1", "e6");
oRange.Borders.Weight = 2;
oRange.Borders.get_Item(XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlContinuous;
Excel.Style st = oBook.Styles.Add("PropertyBorder", Type.Missing);
range = oSheet.get_Range("A8", "E" + (nRows + 9));
然后维修中又用到,没办法,我就把代码拷过去,还好,时间不多,一会搞好.
过了二天,老大在其它模块中又也用到了把选择集填充到EXCEL中,这下麻烦了,把代码给他吧,让它自己改去!
管它的,这不是我的事!由于刚出来混,代码也没什么注释(这个一定要改改了),老大是搞VB的,C#不是很懂,
让我过去改也不是很好,所以就把这个填充excel 的封装成一个类,输入选择集即可,考虑到其它扩展,加入数组接口.
注意:代码复用不是复制,之前就是把代码拷过来,再根据具体情况修改一下,这样当然能把临时问题解决,但这不是长久之计,下一次同样的问题又找到之前的项目复制代码,显然这不可取.
调试篇
后期调试阶段真的是苦不堪言,让我想起了中国几乎所有书籍前言中的一句话:"由于时间仓
促和经验不足,错误之处,在所难免,不便之处敬请原谅!" .然而咱们是搞开发的,不是出书
的,书本若是错误太多,还可以出第二版,第三版.当然,软件也有1.0,2.0,3.0...
版本越多,估计项目费用收到的就越少,甚至余款收不回.所以,在1.0中就得一遍又一遍的检查
,尽可能的减少错误,而达到用户的需求.
公司没有专门的测试人员,只能靠自己慢慢用,慢慢发现问题,耐心地改...哪怕是一丁
点儿错误也不能放过,这是对项目负责,也是对自己负责.
未完,,,,,,,