我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
线程=进程
其他回答
在编程的头几年,我没有意识到1kbyte在技术上是1024字节,而不是1000字节。我总是有点困惑,因为我的数据文件的大小似乎与我预期的稍有出入。
喂!,
我只是在设计和写代码。
没有需求收集、文档或支持。
欢呼,
从大学时代起,我就认为自己是编程大师。因为我能写代码,而别人不会。但当我加入一家公司时,我发现自己对基本知识一无所知。我对自己的所有假设都是错的!现在我知道我需要知道什么和不知道什么了!
代码审查是浪费时间。
从一家完全可选的公司搬到一家强制性的公司(甚至是被审计的),我逐渐明白了它们的用处。对代码有另一双眼睛,即使是最琐碎的部分,也可以:
A)当你搞砸了一些琐碎的事情时,避免你的尴尬(例如,在我之前的工作中,一个琐碎的代码审查可以防止我们向客户发送数百封垃圾邮件)
B)可以教给你你一开始不知道的东西(我在我目前的工作中学习了新的库——不可避免的是在一家大公司,有人已经偶然发现了你的问题,并做了更好的解决工作——这只是知道在哪里寻找的问题)
C)至少要确保除了你自己之外还有其他人知道事情是如何运作的。
最后,我对我在这里提交的代码比我以前的工作更满意,尽管那时我认为我什么都知道:)
在很长一段时间里,我认为其他人对所有编程概念(设计模式、最新的新语言、计算复杂性、lambda表达式,只要你能想到的)都了如指掌。
阅读博客、Stack Overflow和编程书籍似乎总是让我觉得自己在所有程序员必须凭直觉知道的事情上落后于潮流。
随着时间的推移,我意识到我实际上是在将我的知识与许多人的集体知识进行比较,而不是单个人,这对任何人来说都是一个相当高的标准。现实世界中的大多数程序员都有完成工作所需的知识缓存,并且有不少领域是他们薄弱或完全不了解的。