代码之家  ›  专栏  ›  技术社区  ›  Ladislav Mrnka

如何处理公司内部框架和软件工厂?

  •  11
  • Ladislav Mrnka  · 技术社区  · 14 年前

    根据我自己的经验和朋友的经验,我发现许多公司都有一些奇怪的想法来开发自己的框架和软件工厂(为您构建应用程序框架)。这些想法通常是基于这样一种信念,即自己的框架将比任何其他可用的框架都要好得多。如何处理这样的想法,如何解释这并非总是一个好办法?

    为什么我认为内部框架/工厂不好:

    • 预算和资源-通常只有一些初始预算来创建框架。没人考虑维护和支持框架所需的预算。甚至没有人能估算出维护所需的预算和资源。一开始没有人考虑维护多个版本的框架来支持已经存在的应用程序。
    • 缺乏经验-框架通常是由没有任何此类经验的人或在“顾问”的支持下创建的-一般来说,拥有类似技能的人成本更高。
    • 技术债务-框架中的坏代码是技术债务。
    • 错误地相信银弹——管理者认为自己的框架/工厂就是银弹。所有应用程序都将以相同的方式编写,并且易于维护。我的经验是,这很简单,不是事实。即使使用SW-factory,每个应用程序都是特定的。
    • 文件不足-文件是受低预算影响的第一部分。没有文档的框架是无用的。他是我最好的朋友。
    • 用户组不足-内部框架只有小用户组。小用户群意味着小体验。如果我使用的是公共工具/框架,并且我有问题,我可以在SO(或类似的网站)上提问,或者只是在google上寻找答案。内部框架是不可能的。
    • 策略-公司策略强制您使用框架来维护框架成本。这使得在收集第一个需求之前就选择了框架。
    • 禁止向框架投诉。
    • 禁止使用其他框架。

    我认为公司为什么这么做:

    • 傲慢和利己主义——公司里的某些人相信他能做得更好。

    编辑:

    感谢您的回答,但我希望得到一些建议如何处理一个问题作为一个开发人员(除了更换工作),而不是作为一个经理。

    3 回复  |  直到 10 年前
        1
  •  7
  •   Justin    14 年前

    根据我的经验,框架过剩最常见的原因是。。。 ! 没有灵感的开发人员发现,开发框架来解决他们的问题比实际解决这些问题要有趣得多-最终的结果是框架会受到上述所有问题的影响(因为开发人员当然只做了有趣的部分),甚至可能无法解决实际问题(因为目标是获得乐趣,不是为了解决问题)。

    解决方案很棘手——很难知道是什么激励了开发人员,因为每个人都被不同的事情激励着,然而那些忙于做自己喜欢的事情的有动力的开发人员却看不到自己会患上这种病!

    也就是说,经过深思熟虑的框架在正确使用时绝对是一个好的选择 好东西 -但是,如果它只在内部使用,那么最好把它看作是重分解和代码重用的扩展,而不是框架。

    一个典型的迹象表明某人正在遭受 无聊开发者框架综合征 当具体案件还没有解决方案的时候

    • 在你至少解决了一个具体案件之前,你怎么知道如何解决一般案件?
    • 直到你必须解决一般案件几次你只是 猜测 一个框架是公平的 需要 .

    相反,将这类框架更多地视为“广泛重构”中的一种练习——如果框架是作为一种根据需要对公共代码进行分组和整理的方式生成的,那么框架的大小和复杂性将动态增长——在开始生成框架之前就已经解决了问题,这也正是它的意思无论框架需要做什么,你都已经是专家了。

    尽量避免开发人员感到无聊 (否则他们会做出各种恶作剧!)

        2
  •  3
  •   user333306 user333306    14 年前

    泛化是不好的,但我注意到,尤其是在大型企业项目中:

    • 软件架构师

    • 在大多数情况下,把这个人带走是件坏事,因为他拥有这个东西。因此,教他/她理解他/她的选择的后果可能是解决问题的最合适的方法。但要做到这一点,你需要一个 .

    所以我唯一的建议是:

    雇佣更好的经理 自豪的 为那家公司工作。

        3
  •  3
  •   Sentinel    14 年前

    我想补充一些其他原因,这些事情的发展,我已经看到这在不止一个地方: -开发者锁定。一旦开发人员在一个不可转移的技能集中编码,他们就很难离开。 -作者锁定。一旦有几个应用程序依赖于框架进行维护,组织就依赖于管理组。 -政治控制。中央集权使框架成为政治控制的渠道。