发表评论
太niu b了。
感觉主要吸引人的是怎么去模拟vs界面。而不是代码模板了。
不过有一事一直不明白,为什么你们喜欢用DAl, BLL之类的语言。这个我在j2ee见过,是不是企业级持久层的术语?
感觉很不习惯。我搞项目,直接就使用持久层、ORM之类的。controller的数据(DataTable)传递给持久层(Insert(DataTable))就完成数据库操作了。没有见过DAL/BLL。
#3楼 [
楼主]2007-12-04 00:59 |
@pixyosft
模拟VS界面的是使用开源项目WeifenLuo.WinFormsUI.Docking
#4楼 [
楼主]2007-12-04 01:01 |
@pixyosft
只是一个名称而已,SmartCode就是考虑到不同的用户会有不同的编码习惯,所以才会有基于模板引擎,可以根据自己的习惯定制模板啊:)
#6楼 [
楼主]2007-12-04 01:19 |
@allentranks
希望我可以早点开发完成:)
掌柜: 希望能在模板中提供一些函数,来自定义某个位置上名称的大小写
比如我数据库中字段名为UserName
那我希望生成的代码中 可以展示为userName 或者 username 或者USERNAME
当然还需要 首字母大写 等等的功能 。希望能实现。这对我定义统一的代码风格很重要 :)
可以考虑直接使用Mygeneration的一些元数据类库以及模板解析库,这样可以节约很多时间。
#9楼 [
楼主]2007-12-04 08:44 |
@戏水
这个功能可以在模板中实现,你可以定义自己的方法,然后放在一个模板文件中,其他模板中使用Include包含进来就可以了。
不过你提的想法很好,可以考虑提供一些默认的方法:)
#10楼 [
楼主]2007-12-04 08:45 |
@kiler
会不会有版权问题?
NVelocity的模板类型约束并没这么严格,所以在自定义对象或方法很容易就能切入到所有模板里并使用.
针对操作型生成代码应该是一个不错的方向,如:MSSQL视图构建器做成插件设置后直接生成code function这种方式工没有受代码结构所限制,针项目型的代码生成对代码结构的约束性太强了.
单从表面看个人意见:
1.产生的是一个.SLN文件,而目前项目开发大都是团队协作,因此开发员签出会互相制约,不能保证最小编译单元的个人化.
2.楼主在构造函数中进行数据访问对象的实例化感觉不妥,本人在实际中遇到此种方式会出现问题.
3.等看到完整结构图再切磋.
#14楼 [
楼主]2007-12-04 10:24 |
@预备役中尉
1.个人认为代码生成器并不能代替开发人员,只能在一定程度上提供搞开发人员的效率,所以不要指望代码生成器能完成所有的工作。
2.我上面已经说了,完全基于模板引擎,在实际使用中,各个团队使用的方式都不会一样,完全可以通过修改模板来实现,没必要一定就按照这种方式去做。
3.至于第三点嘛就先不回复了:)
#15楼 [
楼主]2007-12-04 10:27 |
@henry
针对项目型的代码生成对代码的约束是很强,可以通过自定义模板也能解决一些问题。
@TerryLee
应该没有版权问题,Mygeneration现在是开源的,遵循BSD License。
关于戏水说的功能,我觉得可以这么考虑:
提供一些系统内置函数或者标签来统一代码风格;
如<%= ToCamelCase("sdasdasdasd") %>
<%= ToPascalCase("sdasdasdasd") %>
学习学习。。TerryLee的文章始终走在技术的最前沿呀,呵呵。
你不是要考研的吗?
怎么有这么多时间自己做东西呢?
#19楼 [
楼主]2007-12-04 17:07 |
@kiler
嗯,这个想法不错,我争取加上:)
#20楼 [
楼主]2007-12-04 17:12 |
@罗爱军
争取赶上,但总是觉的赶不上:)
#21楼 [
楼主]2007-12-04 17:15 |
@RanKang
已经考完了
关心代码编辑器的实现,是不是也有智能感知等功能,如何实现的,看起来很漂亮
@TerryLee
你这个界面怎么做的啊,是不是用的vs2008 shell?
#24楼 [
楼主]2007-12-04 19:31 |
@jt
编辑器用的是ICSharpCode.TextEditor,目前没有智能感知的功能。
#25楼 [
楼主]2007-12-04 19:32 |
@kiler
没有啊,用的是开源的WeifenLuo.WinFormsUI.Docking
#27楼 [
楼主]2007-12-04 20:06 |
@jt
呵呵,美工水平一般,根本不入流:)
#29楼 [
楼主]2007-12-05 09:57 |
@else
拜师可不敢当:)
blog右边有我的Email。
您为我打开了更大的视野,从项目的开发,到工具的自架构..net的魅力又一次让我震撼!
我觉得虽然代码生成都很不错,但是唯独对界面层和数据层的传输那段代码没有生成工具生成
类似于
textbox1.text = Product.Name 这样的生成工具很少
我建议字段里在加上一个客户端验证的 正则表达式 用来生成js客户端验证
@gakaki
汗,这个就是自己写模板就行了,一点也不难。
我想在cs开头,加一个这个模块的功能,谁开发和改动的
有没有这样的宏代码。
应该怎么加,我看sharpplus有,vs2005好像没有。
可以考虑兼容codesmith的模板
并且在发布时,楼主应先写几个模板。
#39楼 [
楼主]2007-12-06 23:06 |
@gakaki
这个编写模板啊~~~
#40楼 [
楼主]2007-12-06 23:06 |
@高海东
上面的新建项目对话框中已经有LINQ to SQL的项目了!
#41楼 [
楼主]2007-12-06 23:07 |
@Fencer
谢谢支持,我尽量做好
#42楼 [
楼主]2007-12-06 23:07 |
@张荣华
发布的时候怎么可能不带模板呢?-_-
期待ing。。。
以前一直再用codesmith,博主能否说一下,这个smart code 相对于codesmith的一些优缺点吗,两者都是基于模板的
一直关注楼主的博客,学习~~~呵呵
#44楼 [
楼主]2007-12-07 11:01 |
@Terry Dong
1.从模板语法上说,两者的语法非常相似,但是SmartCode只支持C#语言进行模板的编写(以后可能会扩展Vb.Net),而CodeSmith只是任何一种语言
2.CodeSmith支持编写模板时的智能提示功能,而SmartCode目前还做不到这一点。
3.SmartCode支持生成完整的解决方案,包括表、字段属性的可配置,这一点可能CodeSmith无法做到。
4.SmartCode是国产的,也是免费的:-)
@TerryLee
谢谢~~发布了一定试用下,呵呵
俺用过动软的那个,感觉还成,请问这个跟动软的那个有什么区别和特殊的地方,总体方向是一样的吗
同时关注中:)
这个界面挺好看的说..
#47楼 [
楼主]2007-12-09 22:03 |
@MLY
1.SmartCode完全基于模板引擎,可以自行修改模板,而动软的好像没有提供;
2.生成的代码为完整的解决方案。
3.支持表、字段的属性配置。
基于模板的没用过......才疏学浅了.....
决定就拿楼主的这个开刀了....
3.SmartCode支持生成完整的解决方案,包括表、字段属性的可配置,这一点可能CodeSmith无法做到。
----------------------------------
CodeSmith可以生成解决方案,比如NetTiers
表、字段属性好像还无法配置。PowerDesigner设计的配置信息似乎足够丰富了,可惜自定义模板太麻烦了:(
关注!
另外关于代码生成器如何循环的问题,我很有兴趣。
比如:用一个模版A+实体B,生成了代码C
如何用模版A+实体BDEFG,循环生成代码CHIJK。一直未能解决,期待能在学习到相关知识。
ps:看来年末新一轮的代码生成时代又来了,我也要开始拣起几月前的MDA生成器。主要是在做VS那棵解决方案树的常用操作,以及属性窗口显示和编辑。要是哪位大侠有开源的模型编辑代码(根据模型图维护实体字段)不妨介绍哈,谢谢。
师兄,你用的那套图标在哪找的?能告诉我吗?或者发一分图标给我吗?hoh728@163.com
#54楼 [
楼主]2007-12-11 19:24 |
@MLY
希望我可以尽快发布
#55楼 [
楼主]2007-12-11 19:25 |
@WideWeide
嗯,我看了一下NetTiers,文件好多:)
#56楼 [
楼主]2007-12-11 19:25 |
@leoxu
呵呵
#57楼 [
楼主]2007-12-11 19:26 |
@Clark Chan
这个没有什么问题吧,循环调用模板就可以了啊,在模板中以实体作为输入参数就可以了:)
#58楼 [
楼主]2007-12-11 19:27 |
@HOH
图标是直接从VS上抓取的:)
与Codesmith有什么区别?如果比Codesmith好用的话,我会考虑用你这个。
希望能导出Codesmith的模板。
#60楼 [
楼主]2007-12-12 21:51 |
@岁月如歌
1.从模板语法上说,两者的语法非常相似,但是SmartCode只支持C#语言进行模板的编写(以后可能会扩展Vb.Net),而CodeSmith支持任何一种语言
2.CodeSmith支持编写模板时的智能提示功能,而SmartCode目前还做不到这一点。
3.SmartCode是国产的,也是免费的,甚至会开源:)
代码生成器的确可以减轻很多开发过程中的重复工作量.特别是能根据自定义的模板来定制更是很方便.我想请问下LZ,Smart Code有DeBug模板的功能吗?有的话,我想在编写模板的过程中可以减少编写的时间哦.
#64楼 [
楼主]2007-12-13 19:46 |
@岁月如歌
谢谢:)
#65楼 [
楼主]2007-12-13 19:48 |
@WaitdDing
谢谢,我也在考虑是不是该换个名字,等想好了再换吧,其实叫SmratCode的在我之前有两个代码生成器呢:)
Smart Code目前还没有提供Debug的功能,我最近正在看Visual Studio 2008 Shell,考虑是不是用它来实现呢?
呵呵,相信LZ会想出好的解决方式的.VS2008还没有怎么用去,不过听倒是听得很多.
名字的话可以向园子里的兄弟征集一下啊,建议而已.
基于模板的技术我是很感兴趣的,希望有机会研究一下.
加油!!!!!
#67楼 [
楼主]2007-12-14 10:44 |
@WaitdDing
嗯,等完成后发布第一个版本,就向园子里的弟兄征询意见,呵呵
希望发布后能够自带连接oracle的三层模板,至少自动生成带参sql语句里面不会出现@
我就关心WeifenLuo.WinFormsUI.Docking 这个怎么用的?
我怎么就是用不来呢?楼主帮我一下...
#70楼 [
楼主]2007-12-17 18:57 |
@ColdDog
下载后有带的Demo啊
现在进度如何了?
beta也好,等着试用呢!
(*^__^*) 嘻嘻……
--引用--------------------------------------------------
TerryLee: @WaitdDing
谢谢,我也在考虑是不是该换个名字,等