我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
面向对象始终是设计源代码的最佳方式,而且永远都是。
其他回答
Java很慢。这么多perl粉丝在slashdot上反刍(sp??)这很可悲。
我不知道在Javascript中除以0是无穷大(IEEE 754算术)。最近经历了惨痛的教训。
字节和字符实际上是一回事——“ASCII”只是将字节值映射到屏幕上的符号的一种方式。
阅读关于Unicode的文章真的让我大开眼界(尽管我仍然没有完全理解它)。
我的错误假设:虽然总是有一些改进的空间,但就我而言,我已经是一个尽可能好的程序员了。
当我刚从大学毕业的时候,我已经用C语言编程6年了,知道所有关于“结构化编程”的知识,认为“OO”只是一种时尚,并认为“天哪,我很好!!”
十年后,我在想“好吧,那时候我远没有我想象的那么好……现在我有了多态性的想法,以及如何编写干净的OO程序…现在我真的很好。”
所以,不知何故,我总是很好,但也总是比以前好得多。
在那之后不久,我终于有了“一些”谦卑。总是有更多的东西要学(还没有用像Haskell这样的纯函数式语言写一个合适的程序)。
让非程序员明白我在说什么。