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

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

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

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


当前回答

OOP的好处是你可以重用对象,而实际上它是通过创建一个具有相同接口的新对象来重用其余的代码。

实际上,对象可能占代码的2%,因此重用只会给您带来2%的好处。真正的好处是通过创建一个新对象来重用其他98%的代码,从而允许所有其他代码完全不同。现在您重用了98%的代码。把一个东西写为一个对象所花费的时间延长3倍是值得的。

例如,如果你有一个绘图程序,突然有一个你想要绘制的新形状,你只需要改变ShapeObject(同时保持界面相同)。项目中的其他内容都不需要改变。

其他回答

我一直认为,要成为一名优秀的程序员,必须了解系统的所有内部工作原理。我很羞愧,因为在开始编码之前,我不知道关于这门语言的一切,比如它的库、模式、代码片段。 我不再那么天真了。

私有成员变量是实例私有的,而不是类私有的。

现在流行的$符号作为java/javascript标识符的一部分是非法的。

因为性能问题,像Java和。net这样的虚拟机架构对于除了玩具项目之外的任何东西都毫无价值。

(好吧,公平地说,也许在某些时候这是真的。)

我曾经认为我永远不会像微软开发人员那样编程,但现在我认为我可以写同样干净的代码,甚至更好。