您见过最糟糕的技术决定是什么?[关闭]


10

这包括体系结构决策,平台选择或任何此类错误选择导致负面后果的情况。

Answers:


22

多年前,我是一个以数据库为中心的应用程序的首席开发人员,该应用程序开始引发错误。我将其追溯到一个事实,即在数据库字段中存在重复的值,这些值不应该允许它们。

当我将其推向生产环境时,我忘了忘记在数据库上设置唯一约束,因为这很明显该领域需要一个约束,这让我感到非常兴奋。我向其中一位纠正我的开发人员表示同情。

其他开发人员:“哦,您没有忘记,在该字段上有一个唯一的约束。我刚刚删除了它。”

:“为什么要删除它?”

另一个开发人员:“几周前我做了。我从客户那里获取数据文件,因为唯一的约束阻止了新数据,所以无法导入。因此我删除了约束,以便可以完成导入。”

我: “您是否停止考虑过,如果我们要获取与现有数据重叠的新数据,并考虑在导入之前将其提及给别人,可能会出现问题?”

其他开发人员:(空白)

:Facepalm。


真痛。


7

不知道这是否属于技术决策,但我负责了四年的以PHP编写的类似CMS的文档管理网站。这些年来,我多次尝试使人们(经理,用户,功能需求者)考虑,也许,像,也许,考虑一起坐下来,思考事物的需求和未来方向的可能性。没发生 始终是“添加此功能”,“添加该功能”,每个人都很高兴地没有意识到其他人使用该网站的所有不同方式。到我离开时,它变成了相互联系但无关的功能的巨大混乱,而且我是整个公司中唯一了解所有功能的人。现在,没有人这样做。姆哈哈哈


是时候聘请顾问了!
Kirk Broadhurst,2010年


4

重写电信级语音邮件系统。

先前的系统在Unix上运行,大约在90年代末期,微软的COM技术出现了。许多开发人员正在开发这个基于NT的新系统。经过大量的努力,它的性能仍然无法与Unix系统相提并论,而购买此新系统的大客户感到很生气。公司必须被出售,有些人必须离开公司。

真丑。所有这一切都发生在乔尔(Joel)写文章之前的两年左右:第一,你不应该做的事情


3

在基于SVN快照的第一个发行版本之前采用外部库(在本例中为Spring RCP)。可以肯定的是,该项目最终会或多或少地死亡,并且您会发现自己与尸体捆绑在一起。好吧,在我们的情况下,情况可能更糟。仍然是一个很大的风险。


Argh,您刚刚使我想起了我宁愿忘记的过去的另一部分。我继承了一个基于Spring RCP快照构建的项目(答案中提到的同一项目)的一部分。我永远不明白为什么。它似乎并没有增加任何麻烦。
Dan Dyer 2010年

3

我记得一个例子,尽管它尚不具备项目所需的功能,只是尽早提交特定Java应用服务器的路线图,只是实施时间。自然,供应商没有按最初的指示迅速交货,这应该是一个大问题,但实际上,这只是缓慢的失败之路中许多失败的原因之一。

我遇到过的这类问题的大多数情况都涉及到对一种未经验证的/不成熟的技术的承诺,这通常是因为在技术方面有影响力的人支持简历驱动的开发。


1

三年前,我们的BusDev部门表示,他们必须在Documentum上构建内容管理系统,因为他们试图与之建立联系的制药公司都知道这个名称,并且对该技术感到满意。因此,我们花了很多钱建造它,然后在12个月后搁置了它。

他们在今年2月宣布,新系统将基于Sharepoint2010。想知道为什么吗?因为突然间,THIS成为了Pharmas的名字,他们对此很满意!
我们将看到2012年带来的一切!

\\ uSlackr


0

用C / C ++编写现代操作系统。自Morris Worm(80年代后期)以来,我们就知道这是一种完全不适合在其中构建网络软件的语言,但这并没有阻止任何人这样做,这基本上构成了IMO的刑事疏忽。


5
-1是我,还是这是您第5或6次发布有关C是错误的信息?FUD很累。只是因为不能没有做安全的错误并不意味着其他人不能代码C。您不能基于可能的不良做法而讨厌一种语言。
替代

2
FUD国家这一事实,“C是一个坏的语言”,是客观的常识。
替代

2
@mathepic:我说的话是否含糊不清,因为这是一种“不好的语言”?我说过它根本不适合构建具有安全性要求的程序,例如操作系统。这既是客观事实,也是常识。
梅森惠勒

6
@mathepic:我和梅森在一起。众所周知,C语言中的字符串处理会导致缓冲区溢出,而在适当的编程语言中却不会。无论您认为“可靠,一致地安全地编写C语言”(pff)有多么出色,一种不必要地增加错误发生率的语言都是一种糟糕的语言。
Timwi's

3
@Timwi:原始答案说“ C / C ++”。在C ++中,字符串处理不会导致缓冲区溢出。并不是我很喜欢std::string,但是它确实有效,并且与容器类模板一起可以消除大量潜在的错误。
David Thornley 2010年

0

我看到的...

早在1980年代,一家名为Prime的公司生产的计算机运行的是Pick数据库和BASIC版本。我当时所工作的地方的用户部门绝对确信这将为他们节省很多钱,他们将在四分之一的时间与一位业务分析师一起获得所需的处理和结果。不久之后,有四名全职程序员分析师和一份积压的工作。

估算技术将为他们带来的重大错误。


1
好老挑。我一直在质疑以自己的名字命名的OS /数据库/编程语言。(例如Dick Pick)
比尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.