EiffelBuild是专为Eiffel设计的ISE GUI构建图形工具。
我尝试了,我发现它非常人性化,但我有点担心在大型项目中使用这样的工具。使用GUI构建工具可能具有限制性。
因为Eiffel继承使得创建组件变得非常容易,所以从长远来看,使用我们自己的专用版本的图形对象来使用标准对象可能会更好。
您是否了解EiffelBuild的任何限制,以避免其用于大型项目。
答案 0 :(得分:3)
我会限制EiffelBuild用于原型设计。这是一个很好的工具,但从长远来看,管理EiffelBuild项目会变得越来越复杂(对大多数设计师来说也是如此):
希望这有帮助。
答案 1 :(得分:1)
我尝试了,我发现它非常人性化,但我有点担心在大型项目中使用这样的工具。使用GUI构建工具可能具有限制性。
这是如何“限制性”的?项目的规模如何发挥作用?
如果你的意思是它是一个代码生成器,并且你不完全理解它的代码,那么我完全同意。代码生成仅适用于您手动冷却编写代码的情况,并且生成器通过保存繁重的工作为您提供电梯。在这种情况下,您完全有信心修改和维护生成的代码。
因为Eiffel继承使得创建组件变得非常容易,所以从长远来看,使用我们自己的专用版本的图形对象来使用标准对象可能会更好。
您要添加的专业是什么?我会仔细考虑这样做,因为它意味着在perpetuam中编写,调试和维护一个大的类层次结构。绝对肯定专业化是必要的,值得付出代价,并且在采取这一步骤之前无法通过任何其他方式获得。在你决定之前,要诚实地量化成本。
一旦使用库GUI类完成了足够的手动编码,我就会投票支持编写自己的代码生成器。这是一个可持续的解决方案,IMO。
更新:
我在一个研究生课程中学习了埃菲尔,该课程在90年代中期决定它是最好的面向对象语言。当时,C ++是卓越的,但被认为是复杂的,Java并没有从Sun的实验室中脱颖而出,而C#甚至不是安德斯眼中的闪光点。这个机构的教师迷恋于合同设计和它隐含的学术严谨性。
我读过迈耶斯的“面向对象软件构建”。第一版介绍了DbC,并使Meyers在面向对象的世界中成为明星。在我看来,第二版是一个臃肿的东西,结束了他的上升。
老实说,如果你是为雇主写这个庞大的系统,我建议你放弃艾菲尔,为了他们和你的利益而转向更主流的语言。如果你在Windows平台上,C#可能是一个不错的选择。如果您有异构环境或无法负担Microsoft堆栈,请使用Java。所有关于埃菲尔的四个标记问题。我认为音量说了些什么。你可能是对的,人气并不总是质量的最佳指标。我被告知Beta是比VHS更好的技术解决方案,但事实是它在市场上输了,今天无处可寻。与埃菲尔相同。如果我是你,我会放弃它。
更新2:
非常好 - 我无法从您的原始帖子中了解您使用其他语言的体验。
“对质量的高期望”意味着您相信Eiffel将以您无法与其他语言复制的方式支持语言级别的质量。我不同意这一点。代码的质量更多地与开发人员的技能和实践相关,而不是语言本身。
按合同设计完全超卖,IMO。我已经读过它在生产中经常被关闭,因为它确实代表了性能损失。如果这对你来说是真实的,你还期望埃菲尔对质量做出贡献吗?
我确保你正在编写这个应用程序的客户理解与Eiffel一起做出决定的全部后果:有限的开发人员维护它,一个因使用死语而被边缘化的员工等等。由于主观愿望,请确保不要过度使用。