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

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

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

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


当前回答

编程是给后辈的,最好的项目经理是不会编程的人。

其他回答

没开始做的事,永远做不完。

看起来真的很愚蠢,但我推迟了这么多项目,因为规模太大了。我刚刚完成了一个巨大的项目,我意识到如果我意识到它的范围,我就不会开始了。在现实中,即使是最复杂的系统,当被分解成离散的和明确的部分时,也是相当简单的。然而,从宏观层面来看,它很快就被压倒了。

我相信创建程序就像在课堂上教的一样……你和一群人坐在一起,讨论一个问题,想出一个解决方案,等等。相反,现实世界是“这是我的问题,我需要解决它,开始”,十分钟后你又遇到了另一个问题,让你没有真正的时间来有效地计划解决方案。

这个:

SomeClass object(initialValue);

这:

SomeClass object = initialValue;

保证在c++中是等价的。我认为第二种形式肯定会被解释成第一种形式。并非如此:请参阅c++初始化语法。

ASCII以不同于二进制的方式存储

XML名称空间(或者更糟,格式良好)在某种程度上比没有它们要困难得多。

一个非常常见的错误,甚至在W3C!