如果您阅读其他人的源代码,您如何处理代码?你在寻找什么模式(数据类型,循环,控制流的使用......)?多久可以阅读其他人的代码而不感到厌倦?到目前为止发现的最令人兴奋的模式是什么?阅读源代码
阅读源代码
回答
除了一般的做法明显的“从上而下的工作”,这取决于为什么我读它:代码审查,试图了解一点avaialable代码为我所用适应,试图学习新技术等。
它也很大程度上依赖于语言。如果是OOPL,我可能会这样做:
- 首先查看主要班级关系,并尝试了解每个班级的主要职责。
- 看看类之间的交互,看看它们如何协作。
- 看看关键类的接口,看看他们为他们的合作者提供了什么“服务”。
- 看不平凡的方法中,如果重要的是要了解如何他们正在代替什么他们负责。
这一切都取决于你正在阅读什么类型的代码。它是一个Web应用程序,一项服务,一个桌面应用程序?当我开始阅读其他代码时,我通常会开始寻找使用的设计模式。或者针对框架特定的事情。但是,这又是如果你正在做一个评论。如果您为了自己的兴趣阅读并学习某些东西,那么实际上没有答案 - 您应该仔细阅读并理解代码。
谢谢,如果我理解正确,第一步是确定上下文,第二步确定API的位置,并将API放在上下文中。我只是意识到它有点像看着建筑物或艺术品,你可以专注于使用的材料或零件的功能,尝试不同的视角,判断零件如何适合整体......有一个很好的作品的发现过程:here - how mathematicans think
起初,我忽略了改变代码的冲动。这有时很难做到。但先理解后再改变可以为你自己节省很多讨厌的“学习经验”。
接下来如果格式不好,请重新格式化。如果有的话,请使用代码格式化程序。这是因为你倾向于看缩进,如果这样做不好,你对代码的理解也是有问题的。
然后,如果有复杂的数据结构,我喜欢画一个小图。这里面临的挑战是保持尽可能简单。大图在墙上很有趣,但大多数情况下,它们都很麻烦。所以这是浪费时间。
如果您终于明白了一段代码的作用,请发表评论。这是至关重要的,否则下次你来这里时你不会理解它。
以下步骤是创建单元测试。现在,您不仅可以测试代码,还可以测试您对代码的理解。
最后,如果您了解它,并且您知道它可以(并且需要更好),请更改它。但一定要运行测试。除非你是由每个解决的错误支付。
这是一个髋关节新术语是Code Spelunking。
选择您在最终产品中理解的项目,并了解它是如何组合在一起的。如果你有单元测试,那么他们是一个很好的帮助。
- 1. 用PHP阅读源代码
- 2. 阅读Xen源代码
- 3. 阅读linux内核源代码
- 4. IOS:阅读的HTML源代码
- 5. 阅读netty的问题源代码
- 6. 如何阅读numpy源代码?
- 7. 阅读PDF417代码
- 8. 阅读伪代码
- 9. 阅读代码行生成的代码
- 10. 朗读源代码
- 11. URL阅读代码1
- 12. 阅读代码行数
- 13. 阅读JavaScript本机代码
- 14. 困难阅读的代码
- 15. Javascript QR代码阅读库
- 16. VB6代码阅读器
- 17. 阅读安卓dmesg代码
- 18. 阅读汇编代码
- 19. 如何阅读此代码
- 20. 树遍历,阅读代码
- 21. 德尔福条码阅读器代码
- 22. 条码阅读器的代码在C#
- 23. 条形码阅读器的开源
- 24. 如何/从哪里开始阅读开源代码?
- 25. 使用Perl阅读Web 2.0 HTML源代码
- 26. 源代码浏览,理解和阅读工具
- 27. 好的Django应用程序源代码阅读
- 28. 使用Python和的urllib2如何阅读源代码
- 29. 完全初学者如何阅读源代码?
- 30. 阅读的iframe的源代码上的另一个域