现在的程序开发似乎好像越来越喜欢拿来主义,因为互联上充斥着大量的代码可以方便的供开发人员使用,尽管有些人对这种做法嗤之以鼻,但是不能不说明在忙碌的工作中,尤其是在项目苛刻的时间安排下开发人员的辛苦和无奈,谁不想功能做的又快又好呢?最好还能省点力气。
正是有了这种需求网上出现了能够简化大家劳动的所谓的代码生成工具,能够帮助大家生成一定架构的代码,而且用起来比较简单能够解决开发中比较机械烦琐的劳动。我也曾经使用过感觉确实可以减轻一定的开发工作强度,但是也存在一些问题。既然是代码生成器就应该已代码生成为主,还把什么没有太大实用价值的什么架构生成之类的功能加上,软件开发的架构是一种模式,随系统开发的项目的不同,应用也不同不能千篇一律,而且软件的架构也在不断的发展今天适用明天未必可用(可能有点极端),另外本人不才在行业中也无建树,但在软件开发的领域中也摸爬滚打的了五六年的时间了设计和开发的系统不在少数对此类工具生成的所谓架构也实在不敢恭维。综合以上的分析和整理加上自己在现实开发中的一些经验认为越简单和越是机械重复的部分才是应该着手解决的问题,其它的程序架构留给开发人员和架构师吧让他们施展自己的才华,这样才能让我们这个若大的国家的这个看似繁荣的软件行业不在因人才的贫瘠和教条化而走向末路,这个行业的未来是否浮躁由我们决定。
好了说了这么多了,我们来看一下具体我们在开发中都遇到了哪些比较让人头痛和机械的代码劳动呢?
第一点不用说了大家都接触过数据库了(不要告诉我你没有用过),大家是否为编写一条接一条的 ”Insert into ….. Update ….. Delete ”的数据库脚本烦恼呢,不要说你不烦恼要不微软也不会出现LINQ这样的技术了。
第二点就是数据库的存储过程,存储过程有自己的优点在项目的应用中屡试不爽,少写不少程序代码而且执行效率高,修改容易。但是存储过程也是需要人写呀,于是一条接一的 “Create Proc……”天呀。
第三点可能就是数据实体类的编写了,根据数据库中的实体生成对应的代码实体了”Class…. get .. set..
”无聊透顶。
不久我们的天才程序员发现等他们做完了这些工作项目的进度表已经过了一半了,而重要的程序逻辑还没有开始呢,对项目的新鲜感也已经消失殆尽,为了不加班只能缩减程序的功能和逻辑还有就是测试的时间,要不然周末还要陪女朋友逛街、陪家人出去转转呢,都快不记得上回是什么时间了。写代码不是生活的全部,不是吗?
所以本人在使用了若干个代码生成工具后感觉都不很实用,无法满足自己的部分要求,反而添加了一些我并不需要的功能,我不指望这么个简单的工具能帮我完成复杂的代码设计和架构生成,他们反而把这部分又作为重点,未免太自做多情了,那个工具不是什么人工智能产品,不能解决开发人员面临的种种问题,说句不好听的生成的框架代码我反正是看不上的,估计上点档次的项目是用不到的。我只需要能解决我重复劳动的部分就可以了,其它的部分我暂时还不想偷懒,我想大多数的开发者跟我的想法一样。
有一天我终于忍不住了,我决定不受这类代码工具的折磨了,毛主席教导我们自己动手丰衣足食,说做就做,我用了四天的时间并结合以前写过的一部分代码,开发了个自己的工具,取名时决定不叫什么代码工具之类叫人讨厌和难听的名字,就叫做“开发助手”吧!毕竟它只帮助我完成简单而重复的工作而以,不叫什么生成器之类的为好。
界面如下图:
目前已经拥有的功能有:
1、 根据表生成SQL脚本和存储过程脚本以及C#数据实体类。
2、 生成存储过程配置文件。
3、 代码统计(图表显示)。
4、 项目目录创建(根据配置文件创建指定的项目目录结构)。
5、 代码文件的编辑功能。
6、 创建对象的多选和任选(摘要视图对象列表中)。
功能视图:
(生成的存储过程视图)
(生成的存储过程配置文件视图)
代码统计功能可以指定目录、时间段、文件类型等,显示方式可以为图表和详细信息。并且图表中可以清晰的显示出每天的代码工作量和项目时间。
(代码统计视图)
(项目目录创建视图)
由于开发时间和自己需求的关系目前该工具只支持SQLServer 2000/2005。
客户端必须要安装.Net Framework 2.0 和 Microsoft.SqlServer.Smo。
测试在本人的两台电脑中测试通过,如果使用中发现问题和有什么意见,请用下面的邮件联系本人,本人将不胜感激,记得要给个回复呀。
程序下载:
https://files.cnblogs.com/comningbo/DeveloperAssistant1.0.rar
宁波
Email:ningbo1014@163.com