0

我知道这是一个略微修辞的问题,但我想听听支持或拒绝这一学说的意见,因为这将帮助我在不使用指定解决方案的请求中建立更好的案例。

一点背景知识:我开发和维护了一个严格在内部使用的大型成熟应用程序(用于 UI 的 VFP,用于中间和后端的 Oracle PL/SQL)。我已经问过我的上级关于用 C# 重写 UI,但我被告知所有未来的开发工作都将在 Java /Spring 中完成。我已经解释过,从桌面应用程序到 Web 应用程序的工作量要比简单地迁移到 C# 要大得多。我还解释了整个 UI 如何必须进行重大重新设计才能过渡到 Web 浏览器。最后,我解释说这个应用程序只在内部使用,因此与外部应用程序所获得的好处相比,拥有一个 Web 架构所实现的好处不会那么多。不幸的是,我的论点并没有动摇他们。

我的一部分很想投降并尝试用 Java 重写,以便获得经验,但我担心这可能是一个项目的灾难,需要四倍于迁移到 C# 所需的时间和精力。

我知道让一个部门只支持一种语言是有好处的,但对我来说,感觉就像我们在用锤子敲螺丝一样。

那么,一家公司在所有开发工作中使用单一解决方案的好处和坏处是什么?此外,是否有其他人发现自己处于类似的情况,即他们选择的语言被拒绝,尽管该选择有所有实际原因?

4

5 回答 5

2

公平地说,所陈述的问题有点像稻草人的论点。当然,如果我们从字面上理解“不计成本”的条件,答案是否定的。

编辑:OP 已删除“不计成本”的措辞,但我的其余答案仍应适用。

也就是说,通常实施单一架构的原因是为了节省成本。他们希望每个人都将精力投入到该架构中。如果该架构适合他们处理的大多数问题,则可以降低他们的成本。那么问题就变成了:强制实施架构所节省的成本是否值得偶尔使用它来解决不合适的问题?

在很多情况下,答案仍然是否定的,但不是非黑即白,这取决于你的公司做什么,你的核心竞争力在哪里,以及他们真正有兴趣开发的项目。

于 2009-02-12T14:13:44.137 回答
1

我同意你和 Rob Wells 的观点,即强制执行单一架构原则是一个坏主意。在这种情况下,唯一可行的方法是分析每个解决方案(Java 与 C#)的成本,并用实际数字和确凿证据向他们展示。您也可以尝试查看是否有任何案例研究。如果它们不可用,你可能想看看是否有其他公司做过类似的事情,研究它的影响并用它来说服你的管理层。也就是说,这可能比使用 Java 编码更有效(开玩笑 :))。我希望你能说服你的管理层。

于 2009-02-12T14:09:20.840 回答
0

不。

这就像去找一个只能用混凝土工作的建筑师。

您只能将一个解决方案叠加到所有问题空间。

编辑:请注意,要让任何管理层相信有价值的 ROI 将来自对成熟系统的重写,这将是非常困难的。

于 2009-02-12T14:01:19.423 回答
0

通常不会强加一种架构来使一个项目团队的生活更轻松,因此除非您在使用 Java/Spring 之前使用它,否则您会付出一些代价。

Java 和 webapps 的选择不一定只是一种语言。

公司可能要求单一架构的原因有很多。您需要了解您的公司这样做的原因以及这样做对公司的价值。

这样做的原因可能包括

  • 必须保持专业知识只用一种语言和工具链培训人员
  • 由于技术相似,因此更容易在项目之间移动人员。
  • 使维护更容易,因为以后处理应用程序的员工不必了解多种语言。
  • 无需为多种语言购买工具(IDE、重构浏览器等)
  • 使使用非 Windows 桌面变得更容易
  • 降低支持应用程序的运营成本(例如无需桌面安装,或通过减少他们需要了解的技术数量)
  • IT 总监正在从 Java 工具供应商那里获得反手 :)

因此,采用该架构既有好处,也有成本。您需要表明您至少了解这些好处,并且可以说明为什么在这个项目中使用您的首选语言具有企业意义。

为什么你认为这会是一场灾难?是什么让 Java 如此不适合重写?您需要小心,不要以自己最喜欢的语言并且只会说您还不知道的坏话的人的身份出现。

于 2009-02-12T14:26:48.007 回答
0

如果您考虑维护成本,那么限制“认可”架构的选择是有意义的。它使在项目之间移动人员甚至整个团队变得更加容易。

于 2009-02-12T14:32:28.257 回答