我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
这很尴尬,但很长一段时间我都没有真正理解引用类型和值类型之间的区别。我以为你必须使用ref关键字来改变一个对象在不同的方法。
这是我应该知道的c#最基本的概念之一。
其他回答
事实证明,在Linux下是否检查内存分配是否返回一个引用并不重要,因为它实际上会欺骗你,在未来的某个时候实际分配内存,或者如果它没有你需要的内存,就完全终止你的程序。
我曾经认为应用程序的大部分工作实际上是编程。我相信这在某些情况下是正确的,但根据我的经验,我花了更多的时间来研究、记录、讨论和分析,而不是实际编码。(我从事的是操作基于激光的传感器的软件,确定如何最好地控制硬件比编写代码更具挑战性。)
我也曾经认为,程序员可以回头问旁边的人问题的开放环境是程序员团队敲定解决方案的最佳环境。事实证明,不管有没有团队,一个黑暗孤独的房间效率更高。
当我毕业时,我认为专业编程就像在大学编程一样,这意味着我将得到输入和预期输出,并被要求填写进行转换的黑框。在现实中,我必须弄清楚输入,输出和黑盒。
我过去并不认为市场和销售人员是人类的祸害,太天真了。
从大学时代起,我就认为自己是编程大师。因为我能写代码,而别人不会。但当我加入一家公司时,我发现自己对基本知识一无所知。我对自己的所有假设都是错的!现在我知道我需要知道什么和不知道什么了!
每个人都想为一个问题写出最好的、最合适的代码……
这种编程是不可能的。
不是开玩笑的,我一直认为编程是一种不可能学会的东西,我总是远离它。当我接近代码的时候,我永远也无法理解它。
然后有一天,我坐下来阅读了一些基本的初学者教程,并从那里开始学习。现在我是一名程序员,我热爱工作的每一分钟。
另外,我认为编程并不容易,它是一个挑战,我更喜欢学习,没有什么比解决一些编程问题更有趣的了。