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

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

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

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


当前回答

我应该一直优化我的代码。这并不是说我在写之前不应该仔细考虑,而是说我应该努力思考如何从每个语句中挤出每一点性能,甚至牺牲可读性。

其他回答

在初中学习算法的时候,我认为NPC只是一个非多项式问题,这意味着这个问题的复杂性并不比多项式简单。直到我在大学里学了计算理论,我才意识到我错了

C/ c++中if语句的求值顺序是特定于编译器的。所以写作:

if (pointer != NULL) && (pointer->doSomething())

是不安全的,因为可以交换求值顺序。我最近发现(在多年的谎言之后),它是ANSI-C规范的一部分,您可以保证订单和它的完全安全。

詹姆斯

我一直认为,任何为任何语言编写任何代码的人都会使用编辑程序。

I was working with a client of mine who had me on mostly as support and to write some of the more complex things for him. Well one day he messed up a file, big time. He accidentally saved over three hours worth of his own work, and when I asked him why he didn't save more often he replied with, "because I wasn't done". Naturally, this was not an acceptable answer, and I poked and prodded a little further. I eventually came to find out that he he has never used any editing program, EVER! Not even notepad.exe! He had been using an online CPanel editor for files! It didn't even have a 'Find' function. He couldn't ever save until he was done because he was editing the live file on the site!

不用说,我很惊讶,他至今仍在使用CPanel编辑器……

我持有时间最长(因此也是代价最大)的错误假设是:“业务需求是理智和合理的,我只是还没有理解它们。”

100个绿色假设坐在墙上, 如果一个绿色假设不小心掉了, 墙上有99个绿色假设。

交替:

胖墩儿坐在墙上。 矮胖子摔了一跤, 所有国王的马,所有国王的人, 艾菲姆说,他只是个技术人员。