代码之家  ›  专栏  ›  技术社区  ›  Sara Chipps

你如何判断做一件正确的事情是否会妨碍你?

  •  4
  • Sara Chipps  · 技术社区  · 16 年前

    你画了条线吗?

    就像现在我需要一种方式来显示数据库中的杂志文章。最简单的方法是创建一个新的.aspx页面并传递文章id,最棒的方法是使用jquery淡入模式来显示文章。至少我是这么想的。作为一个大师,我需要更长的时间来写作。我们下周就要开始了,没时间再浪费时间了。但是,我不能让自己用简单的方法来做。

    11 回复  |  直到 11 年前
        1
  •  9
  •   Srdjan Pejic    16 年前

    我会先走捷径。

    写一个ASPX页面,显示一篇基于ID的文章,或者更酷、更适合SEO的slug。你能在截止日期前完成。然后,我将从很棒的jQuery方式开始。

    这样做的好处是,在用户禁用JavaScript的情况下,您可以使用回退选项。

        2
  •  7
  •   mwigdahl    16 年前

    你说的是“镀金”。对于软件开发人员来说,这是一个非常常见和众所周知的问题。

    glorious founder 斯塔克弗洛夫本人:

    30:显影剂镀金。开发商对新产品着迷 科技有时也会焦虑 他们自己实现了一个圆滑 他们在另一个 在他们的产品中。所需的努力 设计、实施、测试、记录, 以及不支持

    解决这个问题的正确方法是自愿做这么多工作,以至于你没有时间去做正确的事情,更不用说增加额外的工作量了。:)

    编辑:其他“经典错误”链接 here .

        3
  •  1
  •   David Morton    16 年前

    我认为这只是一个确定优先次序的问题。另外,如果你的客户或老板不希望你用浮华的方式做事,而你真的没有时间用这种浮华的方式去做,那就简单地去做吧,如果以后有时间的话,回来升级到炫丽的。客户和老板通常在你完成他们交给你的工作后再着手把事情做得更好时会更开心。

        4
  •  1
  •   kemiller2002    16 年前

    在这种情况下,我所能做的比这一切都要多。如果你已经没有大量的加班时间,你总是可以挤出额外的时间去走更艰难的道路。是的,这样做会给额外的人带来更多的工作,但有时这就是拥有最好的应用程序还是第一个失败的人的区别。

    我的另一个建议是不要同时做这两种选择。如果你创建了一个基本版本,坚持下去,继续前进。如果你两个都试着去做,你最终真的是在浪费时间。

        5
  •  1
  •   Syntax    16 年前

    正确的方法是让它正常工作,这样用户就可以获得他们想要的信息。设计者的方法是让它正常工作,同时也让javascript照亮一切并移动。

    最好的方法是让它正常工作然后再修改它。如果你不知道该在哪里重构。显然,检索文章将是业务/应用程序逻辑,而实际的花哨设计(如淡出/动画)将是设置的设计/视图方面的一部分。这些部分应该能够坐着,而不知道另一部分在做什么——它们不应该紧密耦合。

        6
  •  0
  •   Scott Stanchfield    16 年前

    听起来像是典型的功能蠕变。让自己相信,现在提出一个特性的想法来满足最后期限是完全不同于简单地放弃这个特性。您可以在发布几个月后再回来并添加新特性。

        7
  •  0
  •   CalvinR    16 年前

    我想你差不多已经回答了你自己的问题。你说添加这个功能需要太多时间,而你现在正处于时间紧迫期,下周就要发布了。我认为很明显你需要走“简单”的路线。

    你基本上是在描述特性蔓延。 http://en.wikipedia.org/wiki/Featuritis

        8
  •  0
  •   Zan Lynx    16 年前

    我认为每个开发人员都有这个问题,如果他对编程感兴趣,而不是仅仅把编码作为一种在朝九晚五的办公室工作中赚钱的方式。

    我的建议是: 把你在编写代码时想到的每一件很酷的事情列一个清单。在你有一个 基本工作版本

    现在如果你还有时间的话,回去做你有时间做的最酷的事情。如果你要认真地重写代码,就使用分支标记。

    一旦你没有时间了,如果你在做敏捷,把剩下的写下来作为故事,交给你的项目经理或客户。

        9
  •  0
  •   foobarfuzzbizz    16 年前

    如果你尽可能地制造出高质量的东西,但从不发布,那就不是“正确的方法”。另一方面,如果你写的是废话,但却以超快的速度发表出来,那也不是“正确的方法”。要想以“正确的方式”做某事,你必须平衡这两者。

    一个经济学术语浮现在脑海中是“质量,价格,或生产速度,选择二者。”

        10
  •  0
  •   John MacIntyre    16 年前

    像这样的事情过去总是让我丧命!

    • 用简单的方法(aspx和 id参数)
    • 写一个小证明 向客户展示概念

    稍后向客户展示工作页面和概念证明,以及估计所需时间。设计原型的经验会让你更好地了解所涉及的内容、如何实现以及真正需要多长时间。概念证明还可以告诉维护开发人员什么是什么(衰落vs逻辑),并允许他们在衰落机制或逻辑被破坏时进行隔离。

    就我个人而言,我会远离褪色的东西。以我的经验,客户将看不到任何附加价值的褪色功能和IMHO分离它到另一个页面将更容易维护。我相信以后它将不太容易出错,因为两个页面的代码不会混合在一个页面上(如果我理解正确的话)。

        11
  •  0
  •   Joe Soul-bringer    16 年前

    test driven development 方法,当你通过编写一个测试来实现一个特性,并以最简单的方式实现它时,只有当你发现真正的功能时,你才能够返回并“正确”地执行它