Answers:
多年前,我是一个以数据库为中心的应用程序的首席开发人员,该应用程序开始引发错误。我将其追溯到一个事实,即在数据库字段中存在重复的值,这些值不应该允许它们。
当我将其推向生产环境时,我忘了忘记在数据库上设置唯一约束,因为这很明显该领域需要一个约束,这让我感到非常兴奋。我向其中一位纠正我的开发人员表示同情。
其他开发人员:“哦,您没有忘记,在该字段上有一个唯一的约束。我刚刚删除了它。”
我:“为什么要删除它?”
另一个开发人员:“几周前我做了。我从客户那里获取数据文件,因为唯一的约束阻止了新数据,所以无法导入。因此我删除了约束,以便可以完成导入。”
我: “您是否停止考虑过,如果我们要获取与现有数据重叠的新数据,并考虑在导入之前将其提及给别人,可能会出现问题?”
其他开发人员:(空白)
我:Facepalm。
不知道这是否属于技术决策,但我负责了四年的以PHP编写的类似CMS的文档管理网站。这些年来,我多次尝试使人们(经理,用户,功能需求者)考虑,也许,像,也许,考虑一起坐下来,思考事物的需求和未来方向的可能性。没发生 始终是“添加此功能”,“添加该功能”,每个人都很高兴地没有意识到其他人使用该网站的所有不同方式。到我离开时,它变成了相互联系但无关的功能的巨大混乱,而且我是整个公司中唯一了解所有功能的人。现在,没有人这样做。姆哈哈哈
在基于SVN快照的第一个发行版本之前采用外部库(在本例中为Spring RCP)。可以肯定的是,该项目最终会或多或少地死亡,并且您会发现自己与尸体捆绑在一起。好吧,在我们的情况下,情况可能更糟。仍然是一个很大的风险。
用C / C ++编写现代操作系统。自Morris Worm(80年代后期)以来,我们就知道这是一种完全不适合在其中构建网络软件的语言,但这并没有阻止任何人这样做,这基本上构成了IMO的刑事疏忽。
std::string
,但是它确实有效,并且与容器类模板一起可以消除大量潜在的错误。