我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
我从没想过我会成为一名专业程序员,我以为我会从事电子工作。但最终,编程更容易,薪水也更高,所以最初的副业变成了我的主要工作。
其他回答
对Unicode的全面支持是成功将软件部署到亚洲地区的先决条件。
每个人都想为一个问题写出最好的、最合适的代码……
C/ c++中if语句的求值顺序是特定于编译器的。所以写作:
if (pointer != NULL) && (pointer->doSomething())
是不安全的,因为可以交换求值顺序。我最近发现(在多年的谎言之后),它是ANSI-C规范的一部分,您可以保证订单和它的完全安全。
詹姆斯
OOP的好处是你可以重用对象,而实际上它是通过创建一个具有相同接口的新对象来重用其余的代码。
实际上,对象可能占代码的2%,因此重用只会给您带来2%的好处。真正的好处是通过创建一个新对象来重用其他98%的代码,从而允许所有其他代码完全不同。现在您重用了98%的代码。把一个东西写为一个对象所花费的时间延长3倍是值得的。
例如,如果你有一个绘图程序,突然有一个你想要绘制的新形状,你只需要改变ShapeObject(同时保持界面相同)。项目中的其他内容都不需要改变。
做事总有一种“正确”的方式。大学毕业后很长一段时间,我一直抱着这个想法。
当然,我意识到完成一项任务总有很多种方法。每种方法都有优点和缺点。查看可用的信息,做出决定,然后确保你能向你的老板证明这一点。