用户有时会提出程序员设计和实现的最有趣、最奇怪和最奇妙的要求。
今天我从老板那里读到一份备忘录,我们需要“能够轻松快速地导入任何 Excel 或访问数据,无论大小如何。”
在同一份备忘录中,我们要求“知道是否有人未经授权访问了系统”——就好像黑客要将他的电话卡夹在某个索引和外键之间一样。
我认为我的老板一直在看太多的“星际迷航”...... :)
你遇到过的最有趣的用户请求是什么?
用户有时会提出程序员设计和实现的最有趣、最奇怪和最奇妙的要求。
今天我从老板那里读到一份备忘录,我们需要“能够轻松快速地导入任何 Excel 或访问数据,无论大小如何。”
在同一份备忘录中,我们要求“知道是否有人未经授权访问了系统”——就好像黑客要将他的电话卡夹在某个索引和外键之间一样。
我认为我的老板一直在看太多的“星际迷航”...... :)
你遇到过的最有趣的用户请求是什么?
我的客户要求在他的网站上,当前的白色太正常了。我引用“我想要 Facebook 和 Google 的亮白色”
我想知道这是否可行:
main.css
body {
background-color: #ffffff !glossy;
}
“日历真的很难用,因为每个月的天数都不一样。你能不能把它们改成一样的天数?”
客户:“我真的很喜欢我的网站和谷歌,但是当我的笔记本电脑没有互联网连接时,我需要它们。你能把它们刻录成光盘,这样我就可以离线使用它们了吗?”
我:“我可以制作您网站的离线版本,但它的功能有限。但我无法让 Google 离线使用。通过硬件和月度合同,可以通过数据卡按月付费在任何地方上网. 你必须通过 ATT 或 Sprint 或类似的方式每月支付大约 60 美元。
客户:“我开始对你的能力感到失望。”
“我们知道服务器有时会宕机,但我们希望它永远不会宕机”
“你能确保我们的销售额至少增长 131% 吗?这将使我们领先于去年。”
“在选中启用按钮单击的复选框后,我们需要该按钮是可单击的。”
以下发生在同一个人身上多次......
数据输入操作员(在远程站点):你能修理我的终端吗?它不会打开。
我:你上次打电话遇到这个问题时它被拔掉了,你能检查一下吗?
数据输入操作员:已插入!
所以我开车去远程站点,我发现了什么?当然是不插电的终端!我插上它,它工作得很好。
项目经理:“我们需要你列出这个项目的所有未知风险。”
我们的其中一个程序可以让普通人操纵一个相当复杂的视频分发系统。它使用视频源(VCR、DVD 播放器等)的代表性图片直观地指示后端发生的情况。这些图形非常详细;录像机上有一个小小的琥珀色显示屏,以 7 段 LED 字体显示“12:00”。一位用户要求我们让它闪烁。另一个要求我们让它显示当前时间。
刘海头放在桌子上
我的编程团队编写了一个与遗留会计系统接口的内部网。基本上,我们正在编写一个漂亮的 ASP.NET 前端来保护用户不必与终端系统交互。
无论如何,我们的一位测试人员注意到我们的登录代码可以接受任何密码,只要前 8 个字符是正确的。测试人员使用密码“Password”创建了一个用户,但应用程序将验证“Password1”、“PasswordMonkey”、“PasswordFakeFakeFakehahahah”。因此,我们的测试人员将此记录为缺陷。一些调查显示,遗留系统将密码存储在固定宽度的 8 个字符字段中,它只是悄悄地将查询截断为 8 个字符。快速测试表明,这个错误也存在于会计系统中,并且被忽视了 20 年。
我们无法修改遗留应用程序,因为它由第三方供应商维护,所以我写了一个快速if (password.Length > 8) { return false; }
的结果——毕竟,超过 8 个字符的密码不可能是正确的。错误修复,QA 签字。
因此,当我们的应用程序投入生产时,我们会从我们的一位客户的总裁那里收到“紧急!!用户无法登录到他们的帐户!!! ”类型的消息。事实证明,州法律或公司政策要求所有密码长度至少为 12 个字符,并且在修复后没有用户能够使用我们的产品。
我们解释说,会计系统根本不存储超过 8 个字符的任何内容,如果用户只输入前 8 个字符,一切都会变得很美好。“不可接受!” 好的,那么我们可以在文本框上设置一个 maxlength,将输入限制为有效的字符范围。“笨蛋!以前工作得很好,现在修好了!” 我们的客户与我公司的总裁大吵一架,威胁我们如果不修复应用程序就更换供应商。
所以,我“修复”了应用程序注释掉了完整性检查并重新引入了这个错误。让 ASP.NET 前端的身份验证代码与终端后端的身份验证相同,这并不是一个不合理的要求,但故意重新调试应用程序确实令人不安。
看看这个名为Clients From Hell的博客
那里有一些非常“好”的。
“我刚刚删除了一条客户数据记录,你能从回收站恢复吗?”
有些人不明白,当一条记录被删除时,它就被删除了。这就是“删除”的意思,尤其是当他们没有要求我们构建“取消删除”功能时。
“我希望没有人可以截取这个网页的截图。”
说真的,这是客户的需求。
然而,最变态的是,我真的找到了一个解决方案(一个让我更讨厌“Javascript”......)。
哦,解决方案是猴子证明的。
客户:“你确定你推送了最后一个副本编辑吗?”
程序员:“是的,它是实时的,我对其进行了测试。”
客户:“我刚刚看了,它仍然显示旧的副本文本。”
程序员:“你试过清除浏览器缓存吗?”
客户:“那是什么?我该怎么做?你不能让网站帮我做吗?”
我们的一位客户将他的信用卡放入 FDD(软盘驱动器)以使用它;