是否有可能将研究结果用于人类学习,以确定如何设计代码以提高理解力?
代码布局战争几乎总是最终捍卫一致性和流行风格,但有没有办法布置比其他代码更好的代码?
答案 0 :(得分:4)
您的代码布局是什么?
一方面,这些邪恶的东西被称为编码惯例,它们将每个人都放在紧身胸衣中。我厌恶这些,我相信我们远远落后于消除它们的时间表。我们可以解析代码,但我不明白,为什么我们的IDE仍然会根据它存储的文本格式显示代码。允许每个用户设置其布局的前提是什么,IDE会相应地显示所有源代码?大多数IDE提供某种自动格式选项,但您通常无法自定义它的工作方式。
然而,一个更有趣的方法是我们目前对源代码的观点是否适合学习。像Code Bubbles这样的项目正在开创一种新的方式。当然,我们有基于模型的方法,从学习者的角度来看,这些方法通常更容易获得。
我担心这个问题没有明确的答案。事实上,如果你能写下详细的答案,不要忘记申请博士学位;)
答案 1 :(得分:2)
有没有办法安排比其他代码更好的代码?
是。这个问题在20世纪80年代得到了广泛的研究。你可以阅读所有相关内容:-)
一个好的大学图书馆应该由Ronald M. Baecker和Aaron Marcus撰写Human Factors and Typography for More Readable Programs,由Addison-Wesley于1990年出版。
答案 2 :(得分:0)
我认为这取决于个人偏好。我更喜欢在我的代码中使用非常少的速记,我认为这是我理解代码中发生的事情的最佳方式,而不必记住哪个订单速记有效,也许我的记忆很糟糕。
使用此类研究可能会对一类学生学习编码方式相同,但每个人都会在一段时间后开发出自己的编码方式。每种语言的最佳实践建议已经提出了“可证明更好的方法”。
有趣的问题。
答案 3 :(得分:0)
理解代码对我来说最大的问题不是代码布局(但代码应该格式化一致),而是遵循执行顺序。在复杂的OO源代码中,很难看到执行中涉及的完整代码。
我认为IDE功能可以帮助解决代码问题。对我来说(作为一个java开发人员)工具,如Eclipse中的Call Hierarchy视图和Mylyn非常有用。
Code Bubbles Project中显示了一种理解代码的有趣(新)方式。
我希望将来在这些方向上有更多的步骤。
答案 4 :(得分:0)
我认为教学编程可能在这方面给了我一些技巧,因为要将想法传达给学生,你必须保持小巧,简单,并且一次只引入一个概念。
然而,正如我的一位同事常常对他的学生说的那样:
教学是我的工作 学习是你的。
由于这适用于编程,我认为程序员有责任编写代码以便教育其他人他/她想要完成什么,但没有代码可以清楚地告诉那些没有编写代码的读者。努力。