• insert脚本生成和对测试驱动的感受


    这几天有些空闲,写了个生成insert脚本的小东东,用来给数据库中初始化信息。没有包括生成表的,是因为数据库设计工具都已经有这个功能了。这几天也有不少关于生成sql脚本的随笔了,因为是自己来用,所以考虑的不多。只要实现自己想要的功能就可以了。代码在这里
    InitInsertSqlScript.rar
    写的不好,特别是数据库访问上,感觉还有很大改进的余地。考虑到表之间的主外键约束关系,先对表名进行排序后再生成,在取关联表名和判断是否外键时使用字符串比较,不够安全。请大家指教,欢迎板砖。

    其实写这篇随笔主要还是想写写在开发过程中使用NUnit测试的一点感受。从三个方面来说:
    一:程序结构
    本来界面和支持类是在一个工程中的。但是由于把测试类单独放在了一个工程中(从一些开源项目里学的),工程间的引用出了问题(测试工程是dll,不能引用exe)。主界面所在的工程是exe的,为了测试就只好先把工程改成了输出dll。后来感觉来回改还是很麻烦,就把仅有的一个窗体提出来放在一个工程中。这样整个解决方案就成了三个工程:支持库,界面,测试。把UI和支持库分离,这也算是单元测试对程序结构所起到的作用吧。
    二:性能
    刚开始写的时候有意忽略了性能问题。例如在返回数据时直接用DataSet。在基本功能都已实现后,开始作优化,首先把能替换的DataSet都替换成DataReader,测试时间从3.9秒缩短到3.4秒。但是这还不是关键的。在把拼接生成脚本时对string的操作替换成StringBuilder后,时间一下缩短到0.9秒左右。
    三:开发效率:
    虽然写测试代码可能要花费一些时间,但是在对支持类库经过测试后,自己更有信心,暴露了问题,提高了代码质量,更提高了开发效率

    虽然不是有意的使用测试驱动的方法,但是单元测试在开发过程中起到的作用是可以切身体会到的。

  • 相关阅读:
    MySQL数据库的登陆
    Mysql 数据库的介绍
    前台后台数据的传递
    header函数
    循环结构
    流程控制
    JS与PHP数组操作的不同
    HDU 3265/POJ 3832 Posters(扫描线+线段树)(2009 Asia Ningbo Regional)
    HDU 3264/POJ 3831 Open-air shopping malls(计算几何+二分)(2009 Asia Ningbo Regional)
    HDU 3262/POJ 3829 Seat taking up is tough(模拟+搜索)(2009 Asia Ningbo Regional)
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/208690.html
Copyright © 2020-2023  润新知