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

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

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

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


当前回答

我可以说服传统的过程程序员,为什么OOP经常提供更好的解决方案。

也就是说,一种描述世界的语言需要有描述复杂对象及其关系的能力。

争论通常包括关于抽象类的废话,我的回答是“不是所有的OOP程序员都刚从Uni毕业,还沉迷于抽象”。或者是经典的,“在面向对象编程中,没有什么是我用严格的过程式编程做不到的”,对此我通常会回答,“不是你能做到,而是如果你有一个更广泛的工具集,你是否会做到”。

我已经学会接受他们和我看世界的角度不同这一事实。

其他回答

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

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编辑器……

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

所有的语言(大部分)都是平等的。

在很长一段时间里,我认为语言的选择对开发过程的难度和项目成功的潜力并没有太大的影响。这绝对不是真的。

为工作选择正确的语言与任何其他单个项目决策一样重要/关键。

以为我是唯一一个会写代码的人……然后当我需要这个例程时,我不记得我做了什么,只是复制/粘贴我自己的代码。

我知道每个人都这么做。

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