yagni

    7热度

    9回答

    他们矛盾吗? 解耦是一件很棒的事,很难实现。然而,在大多数应用程序中,我们并不需要它,所以我可以设计高度耦合的应用程序,除了明显的副作用,例如“你不能分离组件”之外,它几乎不会改变任何东西,“单元测试在屁股“等。 你觉得呢?你总是试图解耦和处理开销?

    1热度

    1回答

    我最近开始做一些爱好游戏编程。当我第一次开始时,我倾向于试图设计抽象。即使我有一个特定的游戏,我会问自己如何在多种游戏和类型的游戏中使用每个元素。我开始意识到,这实际上是带来了一个具体的游戏存在的不合。因此,我从头开始写代码,以满足我所想的游戏(只有那个游戏)的要求。我仍然创造了抽象,但只有当这个游戏本身需要它时。我对这种做事方式很满意。我觉得代码只处于所讨论的游戏所需的正确抽象层次。 我的问题是

    1热度

    2回答

    我目前正在建立两个自定义验证程序,延伸Zend_Validate_Abstract,分别命名为Lib_Validate_TimeAfter和Lib_Validate_TimeBetween。这些名称非常简单,第一个用于测试日期/日期时间/时间是否在另一个之后,第二个用于测试日期/日期时间/时间是否在两个其他日期/日期时间/时间之间。 这两项验证器将依靠名为_buildDate($value)它取一

    11热度

    13回答

    对于我的软件开发编程类,我们应该为RSS提要制作一个“Feed Manager”类型的程序。以下是我如何处理FeedItems的实现。 尼斯和简单: struct FeedItem { string title; string description; string url; } 我被下调为, “正确” 的答案例子如下: class FeedItem { p

    2热度

    2回答

    我需要重写旧的旧版桌面应用程序。这是一个小型的非Java桌面程序,仍然支持几个内部用户社区的日常任务。 应用程序既陈旧又不再受支持的语言。我是一名初级开发人员,我需要重写它。为了避免app rewrite sinkhole,我打算开始使用现有的数据库&数据结构(虽然有一些明显的局限性,但是像重构一样痛苦,这种方法可以更快速地完成最初的工作,并避免迁移,这两者都是成功的关键)。 我的挑战是我对Kee

    8热度

    3回答

    The Pragmatic Programmer很多人都很喜欢recommended。我刚读完它,我可以明白为什么人们会推荐它,但我会指出,“代码完整版”涵盖了几乎所有相同的材料。 但是,有一件事给我带来了困扰,就是作者从来没有提到灵活性的任何缺点,概括和为未来发展留下空间。这些概念都非常好,但是YAGNI(你不会需要它)的原理发生了什么事情,它可以防止开发人员浪费时间实现永远不会被使用的灵活性?

    15热度

    6回答

    随着我越来越多地将敏捷思维融入工作方式,yagni(“你不会需要它”)似乎变得越来越重要。在我看来,这是最有效的规则之一,用于过滤出被误导的优先事项,并决定接下来要处理的内容。 然而yagni似乎是一个在这里几乎没有耳语的概念。我运行了强制性搜索,它只显示在一个问题标题中 - 然后是次要角色。 这是为什么?我是否高估其重要性? 免责声明。为了抢先回应,我确信我会反对,让我强调yagni是与快速和肮

    3热度

    2回答

    现在,我的代码在我的主数据库访问类中创建了数据库(只是SQLite数据库上的一些CREATE查询)。这似乎是不必要的,因为我无意使用代码。如果出现问题,我只需要它,我需要重新创建数据库。我应该... 尽管数据库创建代码大约是我的文件大小的四分之一,但事实保持不变。 将数据库创建代码移至单独的脚本。如果我仍然需要再次运行它,那么很可能我会手动运行它,并且在处理主代码时会让它看起来不知所措。 删除数据

    2热度

    5回答

    YAGNI可以使用过去式吗?您创建了一些功能,前一段时间使用了它,但您不再使用它,并且不想维护它,因此您宁愿删除它。 摆脱未使用或很少使用的功能是一件坏事吗? 背景: 我使用源代码控制,所以如果我再需要的功能,我可以得到它。 我是我软件的唯一用户(我是分析数据集的生物信息学家)。 我遇到过这种情况的一种情况是,我使用了继承,父类和两个子类。一个是处理由454测序产生的文件(下一代测序),另一个是处

    4热度

    1回答

    很明显,YAGNI和KISS之间存在句法上的差异,但是我看不到它们之间的语义差异。他们真的基本上是一样的吗?