首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >你和YAGNI走了多远?

你和YAGNI走了多远?
EN

Stack Overflow用户
提问于 2010-01-07 21:00:58
回答 13查看 4K关注 0票数 32

我正在为企业市场开发一个新的革命性的web应用程序。当然,在我之前,很多人都认为他们的网络应用会是革命性的,结果却发现它不是。(或者是的,但生意还是不好的)。

因此,为了找出我的想法是否具有最低成本的吸引力,我想遵循一个极端的YAGNI:

  • 没有安全特性(即没有用户等)。对于任何新客户,我都会安装一个新的数据库实例和一个新的webapp实例。每个webapp实例都受到http服务器密码的保护(摘要或基本授权,可能是通过https)。
  • 没有国际化。只有英文字串嵌入在源代码中。
  • 不能脱钩。只是与数据库对话的网页。
  • 没有表演技巧。没有队列、缓存、计时器、后台作业、异步调用等。
  • 没有可伸缩性。没有数据库分区,没有碎片,没有群集或复制。
  • 此外,在适当的时候在微观层面使用YAGNI。

我只是想开始这个项目,并尽快达到一个点,我可以出售(或试图出售)我的创新功能与一个简单和迷人的用户界面。

如果计划失败,我会早知道的。如果它成功了,我会看看客户想要什么。他们想要法文版吗?或者他们想要组织中的用户和角色?

这是人们所说的YAGNI的意思,还是这是YAGNI的病理性和激励性的例子?

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2010-01-07 21:09:03

我完全同意YAGNI原则,但你仍然想要计划成功。如果一个应用程序突然有超过十个用户需要完全重写,那么YAGNI就走得太远了。

有些你需要的东西。在我看来,最重要的两点是:

  • 不要因为没有为国际化做好准备而自暴自弃。如果您的应用程序是好的,国际化总有一天会出现在桌面上。此外,在2010年从零开始构建应用程序时,使用UTF-8处理外文字符的能力是绝对需要的。国际化对以英语为母语的人来说可能不那么重要,但相信我,这是必要的,以后国际化应用程序的痛苦是可怕的。
  • 再考虑一下没有安全功能的问题。如果一个组织或组织想要在不同的安全级别上与用户一起使用应用程序,那该怎么办呢?这可能是一个功能,你真的可以没有-我有一个细粒度的安全系统内置在我的许多产品,但还没有充分利用它的潜力。但是仔细考虑一下您的特定应用程序是否可以不使用它,即使它是成功的。
票数 39
EN

Stack Overflow用户

发布于 2010-01-07 21:06:08

这就是他们所说的“原型制造”。勇敢点儿。

在YAGNI和原型设计之间有一种微妙之处。

  1. 当它是用户请求的功能,你说不,那是YAGNI。
  2. 当它实现时(I18N、“解耦”(?)、队列、缓存、计时器等)你对自己说不。那不是真正的YAGNI。那是原型。

这里的大部分内容似乎并不是面向用户的镀金。我不会这么叫--准确地说-- YAGNI。

票数 17
EN

Stack Overflow用户

发布于 2010-01-07 21:14:52

YAGNI是提醒您看到您可以做什么和需要做什么来满足您的需求之间的区别。

例如,如果您的需求是“让用户创建帐户和登录”,那么只需使用框架的默认auth方法,然后转到下一个需求。

您的web应用程序可以支持OpenID、Active、本地数据库、平面文件和无数其他类型的身份验证方法,但是您可以通过实现最简单的方法来满足需求。(对我来说,雅格尼意味着DTSTTCPW)。

“只要有足够的时间,我什么都能做”

  • 我见过的每一个程序员
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2023638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档