【问题标题】:What's the funniest user request you've ever had? [closed]你遇到过的最有趣的用户请求是什么? [关闭]
【发布时间】:2009-04-05 08:28:10
【问题描述】:

用户有时会提出程序员设计和实现的最有趣、最奇怪和最奇妙的要求。

今天我读到老板的一份备忘录,我们需要“能够轻松快速地导入任何 Excel 或访问数据,无论大小如何。”

在同一份备忘录中,我们要求“知道是否有人未经授权访问了系统” - 就像黑客要将他的电话卡夹在某个索引和外键之间一样。

我觉得我的老板一直在看太多的《星际迷航》……:)

你遇到过的最有趣的用户请求是什么?

【问题讨论】:

标签: request


【解决方案1】:

“日历真的很难用,因为每个月的天数都不一样。你能不能把它们改成一样的天数?”

【讨论】:

【解决方案2】:

我的客户要求在他的网站上,当前的白色太正常了。我引用“我想要 Facebook 和 Google 的亮白色”

我想知道这是否可行:

main.css

body {
    background-color: #ffffff !glossy;
}

【讨论】:

  • 你应该向他们推销一台新的光面显示器!
  • 实施它,仅提供白色区域的并排比较,询问他们哪个是哪个,然后向他们收费。客户要求的是他们认为他们的网站的白色与谷歌的一样好。证明它是并收钱。
  • 告诉他没问题,只要你有facebook和google的预算。那会让他闭嘴。
  • 喜欢它。这是一个相关的clientsfromhell.net/post/6181597726/…
【解决方案3】:

客户:“我真的很喜欢我的网站和 Google,但是当我的笔记本电脑没有互联网连接时,我需要它们。你能将它们刻录成 CD,以便我可以离线使用它们吗?”

我:“我可以制作您网站的离线版本,但功能有限。但我无法让 Google 离线使用。通过硬件和月度合同,可以在任何地方以月费获得互联网一张数据卡。您必须通过 ATT 或 Sprint 或类似的方式每月支付大约 60 美元。”

客户:“我开始对你的能力感到失望。”

【讨论】:

  • 哇。我将有一个真的很难阻止对那个合同终止的回应...... >.
  • 在我冷静下来并发送解释之前,我针对该评论起草了大约 3 个回复。可悲的是,正如您可能已经猜到的那样,他们不理解并最终以他们最小的未来业务去其他地方。这可能是最好的,因为该网站的当前版本完全被客户端劫持,几乎无法辨认。
  • 抱歉,没有链接。他们会在分析中看到引荐页面,并且知道他们的前网络老兄和保密一样有能力。
  • @jason +1 了解原则。虽然我很难相信这些人会在分析方面大放异彩。
  • @jason,你能给我们发送一个“加密”链接吗?比如“omesayebsiteway.com”或者 13375p33k?
【解决方案4】:

“我们知道服务器有时会宕机,但我们希望它永远不会宕机”

【讨论】:

  • 有一个客户要求网站即使服务器宕机也能正常工作。但只有管理屏幕需要这种魔力,好像这样更容易。
  • 提供冗余服务器。永不倒下是一个合理的要求。
  • 这是一个合理的要求,如果客户愿意为没有单点故障和冗余的系统付费。你需要在这些事情上有经验的程序员和管理员,而这需要花钱。通常,如果您向客户展示 99% 正常运行时间和 99.99% 正常运行时间之间的成本差异,他们往往会认为系统时不时地停机是可以的。
【解决方案5】:

“您能确保我们的销售额至少增长 131% 吗?这将使我们领先于去年。”

【讨论】:

  • 哦,当然没问题。在我编辑代码时,我会将其四舍五入到 140%。怎么样?
  • 我给你一个输入字段,你输入你想要的任何百分比怎么样?
  • 当然。只需将我的工资增加大约两倍的销售额即可。
  • 哈哈,天哪。我不敢相信……这太有趣了!
【解决方案6】:

“我们需要在选中启用按钮点击的复选框后才能点击按钮。”

【讨论】:

  • 如果有人知道它应该是什么意思,那就不好笑了。
【解决方案7】:

同一个人多次发生以下情况......

数据输入操作员(在远程站点):你能修理我的终端吗?它不会打开。

我:你上次打电话遇到这个问题时,它被拔掉了,你能检查一下吗?

数据输入操作员:已插入!

所以我开车去远程站点,我发现了什么?当然是不插电的终端!我插上电源,它工作得很好。

【讨论】:

  • 我希望您为呼叫付费!
  • 请他们重新安装连接器。这将清除灰尘,什么不是......是的,无论如何。它真的只是让他们发现它没有连接。
  • 也许 DEO 只是想穿上你的裤子?
  • ..或者找个借口暂时不做任何工作,因为他们正在等待他们的电脑“修好”..
【解决方案8】:

项目经理:“我们需要你列出这个项目的所有未知风险。”

【讨论】:

  • 是的,我的前 PHB 确实有这个要求... :D
【解决方案9】:
【解决方案10】:

我们的一个程序可以让普通人操作相当复杂的视频分发系统。它使用视频源(VCR、DVD 播放器等)的代表性图片直观地指示后端发生的情况。这些图形非常详细;录像机上有一个小小的琥珀色显示屏,以 7 段 LED 字体显示“12:00”。一位用户要求我们让它闪烁。另一个要求我们让它显示当前时间。

刘海放在桌子上

【讨论】:

  • 对我来说听起来像是你自己的错,因为它让它太像现实世界的机器。 :P
  • 这就是将应用定位到“普通人”的结果。下次拍得更高。 ;-)
【解决方案11】:

我的编程团队编写了一个与旧会计系统交互​​的内部网。基本上,我们正在编写一个漂亮的 ASP.NET 前端来保护用户不必与终端系统交互。

无论如何,我们的一位测试人员注意到我们的登录代码可以接受任何密码,只要前 8 个字符正确即可。测试人员使用密码“Password”创建了一个用户,但应用程序将验证“Password1”、“PasswordMonkey”、“PasswordFakeFakeFakehahahah”。因此,我们的测试人员将此记录为缺陷。一些调查显示,遗留系统将密码存储在固定宽度的 8 个字符字段中,它只是悄悄地将查询截断为 8 个字符。快速测试表明,这个错误也存在于会计系统中,并且被忽视了 20 年。

我们无法修改由第三方供应商维护的遗留应用程序,所以我写了一个简短的if (password.Length > 8) { return false; } ——毕竟,超过 8 个字符的密码不可能是正确的.错误已修复,QA 签字。

因此,当我们的应用程序投入生产时,我们会从我们的一位客户的总裁那里收到“紧急!!用户无法登录他们的帐户!!!”类型的消息.事实证明,州法律或公司政策要求所有密码长度至少为 12 个字符,并且在修复后没有用户能够使用我们的产品。

我们解释说,会计系统根本不会存储超过 8 个字符的任何内容,如果用户只输入前 8 个字符,那么一切都会很好。 “不可接受!”好的,那么我们可以在文本框上设置一个最大长度,将输入限制为有效的字符范围。 “笨蛋!以前工作得很好,现在修好了!”我们的客户与我公司的总裁大吵一架,威胁我们如果不修复应用程序就改变供应商。

所以,我“修复”了应用程序注释掉了健全性检查并重新引入了错误。让 ASP.NET 前端的身份验证代码与终端后端的身份验证相同,这并不是一个不合理的要求,但故意重新调试应用程序确实令人不安。

【讨论】:

  • 这很有趣 - 但我不得不说我对这个客户表示同情。尽管从程序员的角度来看这是一个错误,但用户期望一致的行为,如果他们想要那种“不正确”的行为,那么这并不是一个真正的错误。
  • “这不是错误,而是功能!”
  • 有趣的是它以如此痛苦的结局告终,但您应该意识到它对用户方面的影响。如果它没有损坏,请不要修复它。
  • 或者更确切地说,“如果它没有坏,就修复它直到它坏了”:)
【解决方案12】:

看看这个名为Clients From Hell的博客

那里有一些非常“好”的。

【讨论】:

  • 优秀的资源 - 谢谢! :)
【解决方案13】:

“我刚刚删除了一条客户数据记录。你能从回收站中恢复它吗?”

有些人不明白,当一条记录被删除时,它就被删除了。这就是“已删除”的意思,尤其是当他们没有要求我们构建“取消删除”功能时。

【讨论】:

  • 从备份中恢复。你有备份,不是吗?
  • 在我的数据库中,每个表都有一个活动列。东西永远不会被删除,只是变得不活跃。 (还有个审计栏,知道是谁删的,很有用)
  • 实际上,某些 DBMS 确实 具有“取消删除”类型的功能。甲骨文例如有“闪回”:oracle.com/technology/deploy/availability/htdocs/…
  • 我认为有趣的部分是“回收站”。哈哈
  • 取消删除不是一项要求的功能,它应该始终被构建。
【解决方案14】:

“我希望没有人可以截取此网页的屏幕截图。”

说真的,这是客户的需求。

然而,最变态的是,我真的找到了解决方案(一个让我更讨厌“Javascript”......)。

哦,解决方案是猴子证明的。

【讨论】:

  • 这是一个严重的 hack,一件非常糟糕的事情,但是当你使用最糟糕的编程语言时,你必须这样做。太糟糕了,它被认为是商业机密。
  • 我想看看你的不可截图页面将如何对抗 VirtualBox - 但是,我不是猴子。客户是否有专门针对猴子截屏的问题? 想象一个标志:警告:截屏前面的猴子! ;)
  • 嗯,即使是针对 VirtualBox 也有一些安全性,但它并不是设计的。但是代码的某些部分至少会阻止手动 VirtualBox -screenshooting。
  • while (true) window.clipboardData.setData('',text) :D
【解决方案15】:

客户:“你确定你推送了最后一个副本编辑吗?”

程序员:“是的,它是实时的,我测试了它。”

客户:“我刚刚看了,它仍然显示旧的副本文本。”

程序员:“你试过清除浏览器缓存吗?”

客户:“那是什么?我该怎么做?你不能让网站帮我做吗?”

【讨论】:

  • 客户端正确。这不关他们的事,当程序员使用错误的缓存头时,他们当然没有错。下一步是什么?当客户对他的内容进行下一次小修改时,是否应该告诉他的所有网站访问者“清除他们的网络浏览器缓存”?
  • 并非如此。您不希望页面仅在静态页面上缓存一小段时间。您希望它的缓存在 2 分钟后失效的唯一时间是它的更新时间;任何其他时间它需要持续更长的时间。
  • 通过一些工作,您可以构建一个自动将版本号添加到静态文件的系统,这样当您向客户端发布版本时,更改文件的 URL 是不同的,因此浏览器获取新的副本。然后,发布服务器可以在其 httpd.conf 中设置远期过期时间,而开发服务器具有较短的超时和未版本化的文件。我使用 svn 修订号: js/prototype.js 变为 js/prototype_r487.js 或发布版本中的任何内容。构建过程会创建一个文件来告诉 ASP 代码未版本化的文件名如何映射到版本化的文件。
  • 这不适用于基本网页。
  • 因此为该页面设置 Cache-Control 标头以使其远离缓存,或者至少不要让它在那里逗留太久。底线:客户确实是正确的,这不应该发生。我们拥有避免这些问题的技术。
【解决方案16】:

我们的一位客户将他的信用卡放入 FDD(软盘驱动器)中使用;

【讨论】:

    猜你喜欢
    • 2010-09-11
    • 2011-05-24
    • 1970-01-01
    • 2010-10-10
    • 2010-12-04
    • 2010-10-31
    • 2010-11-13
    • 1970-01-01
    • 2010-09-05
    相关资源
    最近更新 更多