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

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

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

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


当前回答

替代文本 http://images.despair.com/products/demotivators/teamwork.jpg

其他回答

不熟悉SQL和关系数据库的过程开发人员/程序员不需要任何正式的培训,也不需要了解如何使用SQL,快速阅读SQL For Dummies之类的东西就足以使用像Oracle和SQL Server这样的关系数据库。

在处理存储在关系数据库(如Oracle和SQL Server)中的数据的应用程序中,许多错误往往是由于缺乏对关系数据库语言的理解或如何使用造成的;SQL。

I used to work for a software vendor who had the mentality that all a developer needed was the SQL For Dummies book or something similiar and they would be fully equipped to handle any relational database issue. Now that the clients of this vendor have databases measuring in hundreds of gigabytes this lack of SQL knowledge is coming back around in a negative way. It's not just bad performing lookups and or updates and inserts that are a problem but the actual design of the database itself that is the real obstacle.

如果当时开发主管能够像对待他们构建应用程序所用的语言那样对待SQL和关系数据库,那么所有这些都是可以避免的,而且成本也会低得多。

不要认为SQL不重要,因为它最终会回来困扰你。你可能可以在一段时间内摆脱它,甚至几年,但你最终会达到一个断点,在没有完全重新设计数据库的情况下,你无法继续前进,那是成本最高的时候。

我不知道在Javascript中除以0是无穷大(IEEE 754算术)。最近经历了惨痛的教训。

面向对象不一定比非面向对象好。

我认为OO总是更好的。然后我发现了其他技术,比如函数式编程,并意识到OO并不总是更好。

学习正则表达式可以节省时间

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

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