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