我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。

你坚持时间最长、最终被纠正的假设是什么?

例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。

坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。


当前回答

不是持有时间最长的,但在某一时刻,有几年的时间,我:

以为微软Windows是世界上唯一的操作系统(那是1992年) 了解DOS对于拥有“高级”操作系统知识已经足够了。

这就是为什么我在高中没有选择“计算机课程”。我以为我对计算机已经了解得够多了。

后来在大学里,出于我的错误:

我认为UNIX操作系统/程序是完美的,DOS/Windows永远不会接近它(那时候看起来很真实,我猜Linus也是这么想的,这就是为什么Linux和UNIX如此相似,而不是。其他操作系统)

最后,在很长一段时间里,我想:

只有我的软件很糟糕,而商业软件是完美无缺的,因为……它是“商业”软件 美国的软件/工程师/产品是优秀的同义词,其他的都只是糟糕的尝试。

其他回答

分析和性能分析是一回事。

然后我发现,虽然分析器总比没有强,但它包含错误的假设,比如:

只有总量才重要,细节无关紧要 统计精度是定位性能问题的必要条件 测量时间和定位不必要的耗时操作是一回事

在很长一段时间里(大约5年),我认为PHP很棒。

我以为我懂算法。然后我加入了Topcoder.com

以为我是唯一一个会写代码的人……然后当我需要这个例程时,我不记得我做了什么,只是复制/粘贴我自己的代码。

我知道每个人都这么做。

其他人都在使用最新最好的技术,而我的团队是唯一一个使用劣质过时工具的人。(除了神秘的cobol恐龙)

选择和使用我们的开发方法是因为它们是最好的。

后来我发现,我们使用的工具对我们做什么、什么时候做、怎么做的影响比我想象的要大得多。