我的公司软件有很多形式,到现在为止我们手工编写代码(MVC方式).
我们正在考虑开始使用GUI构建器.
使用Builder时几乎没有问题.
部分代码 不可读.
部分代码不可 编辑.
以后编辑代码会更难.
我们将来必须继续使用该构建器,即使我们想要替换构建器或手工编写,也没有人能够确保该工具将来可用和支持.
我想向他人学习经验:
您是否建议使用工具或我们是否应继续手动编写代码?
哪个建筑商更好?
他是如何处理这些问题的?(还有其他问题吗?)
kgiannakakis.. 17
对于一些表单,我建议使用Builder.它会更快地完成.但是,如果您需要维护很多表单一段时间,我建议您不要使用构建器.对于这种情况,您花在阅读代码和维护上的时间远远大于初始设计时间.因此,虽然构建器在初始阶段为您节省了一些时间,但它使代码读取和维护更加困难.更重要的是,它使代码重复使用,即使是从一种形式复制和粘贴的形式,也更加困难.
我不知道你是指网络应用程序还是桌面应用程序,但总的来说我还没有找到能够产生优雅输出的Java Gui构建器.例如,Netbeans Swing生成的代码就是一团糟.也许,如果一个好的建设者可用,我会改变主意.我使用Visual Studio的表单设计器没有问题 - 它可以生成很好的代码,您可以阅读和理解.
对于桌面应用程序,请查看MiGLayout.它是Swing和SWT的布局管理器,而不是构建器,可以让您的生活更轻松.
对于一些表单,我建议使用Builder.它会更快地完成.但是,如果您需要维护很多表单一段时间,我建议您不要使用构建器.对于这种情况,您花在阅读代码和维护上的时间远远大于初始设计时间.因此,虽然构建器在初始阶段为您节省了一些时间,但它使代码读取和维护更加困难.更重要的是,它使代码重复使用,即使是从一种形式复制和粘贴的形式,也更加困难.
我不知道你是指网络应用程序还是桌面应用程序,但总的来说我还没有找到能够产生优雅输出的Java Gui构建器.例如,Netbeans Swing生成的代码就是一团糟.也许,如果一个好的建设者可用,我会改变主意.我使用Visual Studio的表单设计器没有问题 - 它可以生成很好的代码,您可以阅读和理解.
对于桌面应用程序,请查看MiGLayout.它是Swing和SWT的布局管理器,而不是构建器,可以让您的生活更轻松.
通过使用优秀的构建器,开发速度会快得多.
您无法修改代码的焦虑可能是由于您在视图中有很多不属于它的逻辑.实际上,这种改变可能有助于您从视图中移动逻辑,这对于能够在不破坏代码的情况下更改视觉元素非常有用.
根据"不可读",您应该考虑使用更好的GUI生成器.我只听说过关于NetBeans的积极的事情,我使用的IntelliJ GUI构建器的代码非常干净.
两个源代码都是可读和可编辑的,但仅用于小调整.对于主要的,请使用GUI构建器.
我认为对于少数几种形式,手动进行没有问题,但是因为你刚才说过"很多",所以使用这些工具将是最有益的.
这是我的经历:
我从不喜欢GUI构建器生成的代码.至少,在VB世界中并不像每个人(好吧,差不多)都会使用相同的IDE来构建应用程序.在Java中,人们使用多个IDE,有些人也使用VIM和Notepad.并且所有IDE都不会生成相同类型的代码.另一个问题是,他们通常不了解其他IDE生成的代码.所以要回答你的第一个问题,我不建议.
您的下一个问题:哪个构建器更好?我最后一次使用Netbeans比我尝试的大多数都要好.
如果必须使用GUI构建器,因为需要更快地开发应用程序,请确保所有团队成员都使用相同的构建器.最好得到他们的意见,否则他们的眼睛会受到IDE生成的源代码的伤害.
让我们知道你的决定!
在过去的3年半里,我一直在使用Netbeans的Java Swing GUI Builder(Matisse)来完成我的所有项目.我已经阅读了很多人对GUI Builders的抱怨,而且经验最丰富的程序员会谴责所有甚至暗示使用它的人,但这是我的经验:
编辑时无需编辑不可编辑的代码.实际上,GUI Builder为您的GUI提供了一个框架.使用编辑器拖动,删除,调整大小和约束组件,但是表的内容,组合框的列表等都需要在后端处理.GUI构建器允许您专注于它,同时它可以使事物看起来漂亮并保持原状.
WYSIWYG总是更有效率.Word处理器就是这方面的见证.人们会告诉你:"你不会编辑那么多的GUI代码,如果能节省你的时间,那就不是那么多了." 但这种说法非常相对.当您在具有流程模型的软件环境中工作时,由于业务模型更改而需要不断更新,此语句为false.另外,你把大部分时间都花在了英文文章的内容上,不是吗?因此,这个论点会说WYSIWYG Word处理器不会为你节省那么多时间,而且这样的陈述会被置若罔闻,因为没有人愿意手工编写他们的论文的外观.
没有任何GUI构建器无法做到的手写代码,而我花了几个小时试图用手写的GUI代码解决小问题,这在GUI构建器中花了我1分钟.
特别是Netbeans的GUI构建器,多年来已经变得如此好,以至于它已经收到的许多攻击(类似于Java收到的大量攻击)已经真正无效.这是一个很棒的程序,它是一种以时间有效的方式构建功能丰富,美观的界面的好方法.我强烈推荐一个优秀的GUI Builder,尤其是Netbeans.
在那里,我说了.
不,我不为他们工作.