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

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

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

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


当前回答

我最大的先入之见是,我将被允许以我想要的方式编程。当然,后来我离开了大学,进入了一家拥有荒谬框架、规则和程序的公司,这不仅意味着我不能以自己想要的方式编程,而且意味着我编程得很糟糕。

其他回答

至少6年来,我一直坚信,每个问题都只有一个解。

完全不知道不同复杂性的多种算法、空间/时间的权衡、面向对象、功能和命令式、抽象级别和无法确定的问题。当那种幸福的天真被打破时,它打开了一个充满可能性的世界,关上了坐下来建造东西的大门。我花了很长时间才弄清楚怎么选一个然后用它来运行。

常见的错误假设:“代码质量是次要的”。 更糟糕的假设是:“代码质量一点都不重要。”

代码质量是一个非常宽泛的概念。我在这里已经详细讨论过了。

不要使用高级的特定于实现的特性,因为你可能“有时”想要切换实现。我这样做了一次又一次,几乎无一例外地,这种转换从未发生过。

总是没有足够的时间在最后期限前完成。

你可以在它的构造函数中memset(this, 0, sizeof(TheObject))一个c++对象而没有负面的结果