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

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

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

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


当前回答

软件工程师总是诚实地告诉你他们现在在做什么,或者过去对你的软件做了什么。

其他回答

评论越多越好。我总是试图让我的代码尽可能具有可读性——主要是因为我几乎肯定是那个会修复我漏过的bug的人。所以在过去的几年里,我经常会收到一段又一段的评论。

最终,我明白了,有一个点,更多的评论——无论结构多么整齐——没有增加价值,实际上成为一个麻烦的维护。这些天,我采取了目录+脚注的方法,每个人都为此感到高兴。

事实证明,在Linux下是否检查内存分配是否返回一个引用并不重要,因为它实际上会欺骗你,在未来的某个时候实际分配内存,或者如果它没有你需要的内存,就完全终止你的程序。

一个函数/方法应该只有一个出口点。

在很长一段时间里,我认为糟糕的编程是发生在边缘的事情。正确做事是标准。我现在没那么天真了。

以前从未见过整数提升… 并认为'z'在这段代码中可以容纳255:

unsigned char x = 1;
unsigned char y = 2;
unsigned char z = abs(x - y);

z的正确值是1