我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
我正在对初级(也许是高级)软件工程师所犯的常见错误和错误假设进行一些研究。
你坚持时间最长、最终被纠正的假设是什么?
例如,我误解了整数的大小不是标准的,而是取决于语言和目标。说起来有点尴尬,但事实就是这样。
坦率地说;你有什么坚定的信念?你大概坚持了多长时间?它可以是关于一种算法、一种语言、一个编程概念、测试,或者任何关于编程、编程语言或计算机科学的东西。
当前回答
大的注释/代码比率是一件好事。
我花了一段时间才意识到代码应该是自文档化的。当然,如果代码不能更清晰,或者有重要的原因,这里或那里的注释是有帮助的。但是,一般来说,最好还是把注释时间花在重命名变量上。它更清晰,注释不会与代码“不同步”。
其他回答
@Kyralessa: It's worth noting that on most processors, in assembly/machine language, it's possible for functions to return someplace other than their caller while leaving the stack in good condition. Indeed, there are a variety of situations where this can be useful. One variation I first saw on the 6502, though it works even better on the Z80, was a print-message routine where the text to be printed immediately followed the call instruction; execution would resume after the zero terminator (or, as a slight optimization when using the Z80, at the zero terminator, since letting the zero byte be executed as a NOP would be cheaper than trying to avoid it).
有趣的是,在许多现代语言中,函数都有一个正常的退出点(将在调用之后恢复执行),但也可以通过抛出异常退出。即使在C语言中,也可以使用setjmp/longjmp来模拟这种行为。
Java很慢。这么多perl粉丝在slashdot上反刍(sp??)这很可悲。
我是一个优秀的程序员!
当我刚从大学毕业开始工作时,我希望更多的高级开发人员知道他们在做什么。男孩,我错了....
订阅许多RSS订阅,阅读许多博客并参与开源项目是很重要的。
我意识到,真正重要的是我花了更多的时间来写代码。我有阅读和关注许多博客的习惯,虽然它们是丰富的信息来源,但真的不可能吸收所有的东西。平衡阅读是很重要的,要多强调练习。
Reg。开源的话,我怕我不会受欢迎。我尝试过参与开源项目,大部分都是。net。看到许多开源项目甚至没有遵循适当的体系结构,我感到震惊。我看到。net中的一个系统没有使用分层架构,数据库连接代码到处都是,包括后面的代码,我放弃了。