我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
OOP已经过时了:(直到今天我仍然后悔这么想。
其他回答
就查询性能而言,SQL WHERE子句中整数的位比较实际上是免费的。
碰巧,对于前50万行左右来说,这在某种程度上是正确的。在那之后,它被证明是完全无联合国的。
Unix和Linux操作系统设计得很好……我可能应该限定这个(!)
首先,这一观点被一些反真理的观点所强化,例如:
每个后续开发的操作系统最终都以对Unix的拙劣重新设计而告终(Lisp也是如此,在那里它更正确)。 构成“Unix哲学”的一系列规则。这并不是说他们错了,而是暗示Unix本身紧跟他们的步伐。
更确切地说,它们设计得很好/做得很好,当然其中一部分确实如此,但即便如此,这也只是相对的判断,相对于一些糟糕的Windows版本。下面是一些做得不好的事情的例子:
配置一团糟,特别平面文件配置不好 C语言在很久以前就应该被(类似D语言的)语言所取代 Shell脚本是精神分裂。它不利于开发,因为它是为快速输入而设计的速记。 目录结构命名不当 GNU工具链是不必要的神秘 一般目的总是胜过特殊目的的信念
总的来说,它们需要不必要的专业知识来操作。或者更确切地说,有大量的知识,而只有适度的理解。
也不全是坏事。Linux在政治上更好,不会被业务需求所破坏,但遗憾的是,在很大程度上,很多技术高地已经失去了。
以前从未见过整数提升… 并认为'z'在这段代码中可以容纳255:
unsigned char x = 1;
unsigned char y = 2;
unsigned char z = abs(x - y);
z的正确值是1
做事总有一种“正确”的方式。大学毕业后很长一段时间,我一直抱着这个想法。
当然,我意识到完成一项任务总有很多种方法。每种方法都有优点和缺点。查看可用的信息,做出决定,然后确保你能向你的老板证明这一点。
我持有时间最长(因此也是代价最大)的错误假设是:“业务需求是理智和合理的,我只是还没有理解它们。”
100个绿色假设坐在墙上, 如果一个绿色假设不小心掉了, 墙上有99个绿色假设。
交替:
胖墩儿坐在墙上。 矮胖子摔了一跤, 所有国王的马,所有国王的人, 艾菲姆说,他只是个技术人员。