本文共 1971 字,大约阅读时间需要 6 分钟。
阅读源代码是软件开发人员的工作任务之一。但是,这种经历并不总是令人愉快的。不是每个人都想阅读其他人的代码,因为他们发现它很无聊,有时令人沮丧。有些情况下,当你开始阅读其他人的代码但最终会因为无法理解或代码写得不好而感到痛苦。大多数开发人员都希望专注于编码而不是阅读,并且意识不到阅读代码也是一项技能。
但是,阅读源代码具有多方面的好处。阅读代码的回报是巨大的。可以将编码与文献进行比较。你会看到,大多数大牛都专注于在写作时阅读伟大的杰作。原因是你不能凭空来创造任何东西。你必须吸收不同风格的东西,并在此基础上工作并创造自己的杰作。编写代码与此不同。
为了能够编写好的代码,你必须阅读很多优秀代码。通过这种方式,您可以了解其他开发人员的想法以及他们如何解决特定问题以及他们缺乏的方式您可以从阅读其他代码中获取不同的想法,风格,模式,让您的知识逐渐成长。
简而言之,代码阅读技巧可以提高编码技巧。
有几种方法可以提高阅读技巧,在本文中,我想提一下 :
这是阅读代码的第一步,能够成功运行特定项目可以让您获得一些精神上的满足感,以便有更多地兴趣去探索。 但是,这可能不会为您提供有关该项目的大量详细信息,但是,您将知道如何构建它并运行它,您还将了解它使用的库,它依赖的框架等等。 提高您对特定项目的理解的好方法。 如果您想编写与您正在探索的特定项目类似的自己的软件,您可能会对可能使用的框架或库有所了解。
当你开始阅读项目时,你可能不会跳到每个细节,而应该关注高级结构。 从入口点开始。 大多数项目都有一个主要的方法,从那里开始。 此外,如果这是一个Web应用程序,请开始查看不同的包,例如业务逻辑代码在哪里,UI代码在哪里,控制器在哪里等。基本上,浏览整个项目并获得主要想法然后询问 一个问题,你自己想要关注哪个部分,首先要阅读哪个部分。 您可能无法阅读整个代码库,而是您可能感兴趣的部分代码库。 当您找到自己的位置时,可以通过方法调用开始,并查看它通向您的位置。
有很多工具可供阅读和探索有助于可视化代码的源代码。 例如,IntelliJIdea具有很强的导航源代码功能,您可以通过单词,单词的一部分甚至缩写进行搜索。 您还应该学习键盘快捷键。 使用鼠标导航源代码可能会非常无聊和缓慢,使用键盘快捷键可以更快。 您可以快速从源代码的一部分跳转到另一部分。
还有另一个很棒的软件来读取代码,叫做Sourcegraph,它是由斯坦福大学的两位毕业生Quinn Slack和Beyang Liu创建的,他们花了几个小时寻找记录不完整的代码后,决定建立一个工具来帮助他们更好地阅读和理解 代码。
深入了解特定语言可以帮助您提高代码阅读技巧。 每种语言都有自己的约定,样式和语法。 了解这些有助于快速熟悉特定代码。 例如 - 在Java中,方法名称以小写字母开头,其中C#以大写字母开头。 了解这种区别后,可以帮助您从源代码中识别方法。
您正在阅读的代码,它的某种构造,可能看起来很模糊或未知,这是很自然的。 人们使用大量良好实践和设计模式,以最佳方式正确地做事。 例如,有一个名为Singleton的模式,其中构造函数保持私有。 你可能会问,为什么有人必须保持构造函数私有,我一直认为它是公开的,否则,我将如何在类中创建一个实例。 嗯,背后有一个原因。 单例模式可以防止多次实例化一个具有许多实际用例的类。 如果你知道这种模式,你就不会因此而撞到墙上。 因此,拥有某些模式的知识 - 例如 - Gang of Four有23个记录的设计模式,可以显着帮助您的代码阅读技巧。
软件开发是一项协作的事情。 没有人可以单独构建一个大型或重要的软件。 每个软件都建立在一个团队中。 在团队中,每个人都有助于塑造项目。 每天结束时,每个人的贡献都会合并,成为一项对客户具有真正价值的好工作。 除了进行实际编码之外,现在每个团队都有另一种做法,即审查彼此的代码,进行观察,建议和相互学习。 这是一个强大的工具,用于构建代码库的知识,在团队中建立强大的联系并提高代码质量,从而减少系统中的错误,并使客户满意。
进行代码审查时,您不得不在团队中阅读其他人的代码,最终提高您的代码阅读技能。
临时重构也可以帮助您提高代码阅读技巧。 您可以从采用长方法开始,然后将方法分解为多个方法。 继续这样做,直到你了解更大方法的意图是什么。 之后,您可以记下该方法的作用,然后回滚更改。
这有助于您理解方法构建并提高您的重构知识。
说明:这个文章英文原文,本人觉得不错,借助Google翻译的,一来为了提醒自己,掌握走读源码的方法,二来分享给有需要的人。
转载地址:http://wrkai.baihongyu.com/