代码之家  ›  专栏  ›  技术社区  ›  Barry

公司是否应该在所有开发工作中强制使用一个体系结构?

  •  0
  • Barry  · 技术社区  · 16 年前

    我知道这是一个稍微有点反问的问题,但我想听听支持或拒绝这一理论的意见,因为它将帮助我建立一个更好的案例,在我的要求,不使用口述的解决方案。

    一点背景知识:我开发和维护了一个大型的、成熟的应用程序(vfp用于UI,Oracle PL/SQL用于中端和后端),这些应用程序严格在内部使用。我已经向上级要求重新编写C语言中的UI,但我被告知所有未来的开发工作都要在Java/Spring中完成。我已经解释过,从桌面应用程序到Web应用程序的工作量要比简单地迁移到C大得多。我还解释了如何对整个UI进行重大的重新设计,以过渡到Web浏览器。最后,我解释说,这个应用程序只在内部使用,因此与外部应用程序所能获得的好处相比,Web体系结构的使用不会带来太大的好处。不幸的是,我的论点没有动摇他们。

    我中的一部分很想投降并尝试在Java中重写,这样我就可以获得经验,但我担心这可能是一个项目的灾难,它将花费四倍的时间和精力去迁移C所需的时间。

    我知道只有一种语言才能获得部门支持是有好处的,但对我来说,这感觉就像是在用锤子敲入螺丝钉。

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

    5 回复  |  直到 16 年前
        1
  •  1
  •   batbrat    16 年前

    我同意你和RobWells的观点,执行一个单一的体系结构理论是一个坏主意。在这种情况下,唯一可行的方法是对每一个解决方案的成本进行分析(Java VC C),并用实际数字和确凿的证据对它们进行演示。你也可以试着看看是否有案例研究。如果他们不可用,你可能想看看其他公司是否也做过类似的事情,研究它的效果,并以此来说服你的管理层。也就是说,这可能比Java中的编码工作更多(KIDIN:)。我希望你能说服你的管理层。

        2
  •  2
  •   Adam Bellaire    16 年前

    公平地说,上述问题有点像草人的论点。当然答案是 如果我们按照字面上的“不管成本”条件。

    编辑 :op删除了“不管成本”的措辞,但我的其余回答仍然适用。

    也就是说,通常实施单个体系结构的原因是为了节省成本。他们希望每个人都致力于这个体系结构。如果这个体系结构适合他们所处理的大多数问题,这可以降低他们的成本。然后问题就变成了:实施架构所节省的成本是否值得偶尔将其用于不合适的问题?

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

        3
  •  0
  •   Rob Wells    16 年前

    不。

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

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

    编辑: 注意,会的 非常 很难说服任何管理层,有价值的投资回报将来自于一个成熟系统的重写。

        4
  •  0
  •   The Archetypal Paul    16 年前

    通常不强加一个体系结构来让一个项目团队的生活变得更容易,除非你在使用Java/Spring之前,它会给你带来一些代价。

    Java和Web应用程序的选择不一定只是一种语言。

    公司可以授权一个体系结构有很多原因。你需要了解为什么你的公司会这样做,以及这样做对公司的价值。

    这样做的原因可能包括

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

    因此,采用该体系结构不仅有好处,也有成本。你需要证明你至少了解这些好处,并且能够说明为什么在这个项目上使用你喜欢的语言会有企业意义。

    你为什么认为这会是一场灾难?是什么使Java不适合重写?你需要小心,你不会成为一个有着自己最喜欢的语言,只会说你还不知道的坏话的人。

        5
  •  0
  •   nyenyec    16 年前

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