#discussDon让这个庞大的代码库让你害怕提示和工具,以了解其他人的代码

图片:Cherlat.com,Getty Images / iStockphoto

每个开发人员的生活中都有一段时间,他们开始新的工作,加入开发团队或决定为开源项目做出贡献,并且您面临着一个新的,庞大的,不熟悉的代码库以及需要修复的错误。代码库的大小是你以前从未见过的,但不要担心,我将分享一些技巧和工具,让你可以理解别人的代码而不会发疯。

  1. 你不一定需要知道一切?

    对我而言,改变了一个游戏,我意识到我根本无法理解一切。许多初学者工程师都雄心勃勃,想要阅读所有内容。精神很好;然而,不,你根本不能,期间。重要的是要确定要理解的代码的优先级,以及要跳过的代码。

  2. 阅读文档?

    我从一个新项目开始的第一个地方是阅读任何可用的文档或README文件。这使我能够熟悉代码库的设置,功能,样式和其他重要部分。文档的某些部分可能已过时,但查看代码的演变也有助于理解项目的历史记录。不幸的是,有时,文档不完整,可能是错误的。

  3. 使用命令行搜索工具?

    当您第一次挖矿到包含数千行的代码库时,立即生效并不总是容易的。但是我通过这么多行代码找到自己的秘密武器就是命令行搜索工具 grep的ACK。搜索唯一字符串或关键字是查找功能所在位置而无需跳转到文本编辑器的绝佳方法。我将演示如何使用这个方便的方法立即找出我需要查看哪些文件来修复bug。

    实用的外卖

    我最近开始为DEV源代码做贡献,我强烈建议大家也这样做。它有相当大的代码库,维护者非常热情。我相信这是初级开发人员为开源做出贡献并将他们的知识付诸实践的理想场所。
    我发现了一个错误并报告了问题,我想尝试自己解决这个问题。考虑一下DEV的后端是用它开发的 红宝石 我不是Ruby开发人员,但我需要修复的是返回给浏览器的HTML代码。我不知道我需要查看哪个文件或函数的位置。

    grep的

    我打开了开发工具,意识到了

    有问题的元素有一个类名 ltag__twitter-tweet__video。运行字符串 grep的 我发现需要查看三个文件:

$grep的 -iRl “ltag__twitter-tweet__video” app / app / assets / stylesheets / ltags / TweetTag.scss app / views / liquids / _tweet.html.erb app / liquid_tags / tweet_tag.rb 

很酷,对吗?使用的好处 grep的 它可以在你可能使用的几乎任何'nix发行版上提供。它的实用性在许多不同的环境中都很强大。要了解有关grep的更多信息,请务必查看此帖子。

确认

Ack是“像grep一样的工具,针对程序员进行了优化。”它默认(即你的项目)递归搜索,同时忽略像.git这样的VCS目录,并提供方便的工具,帮助你用更少的击键来探索代码。
以同样的grep为例,我们将如何搜索“ltag_twitter-tweet_video”:

$ACK “ltag__twitter-tweet__video” app / app / assets / stylesheets / ltags / TweetTag.scss 44:.ltag__twitter-tweet__video{  app / views / liquids / _tweet.html.erb 9:
='ltag__twitter-tweet__video'> app / liquid_tags / tweet_tag.rb 30:el.getElementsByClassName“ltag__twitter-tweet__video”)(0).style.display = “块”;

Ack是我可靠的搜索工具,我认为使用它作为grep替代品会有很大的价值。我强烈建议学习如何使用ack。考虑阅读本文以了解更多信息。

  1. 问 ?

    最后,如果你仍然被卡住……那就问在开始时获得项目知识的一个好方法是与团队中更熟悉代码库的开发人员配对。此人可以提供与项目相关的特定设计模式,测试,流程和第三方代码的高级洞察。它们还可以为您提供有关项目的更多历史背景以及为何最初进行某些选择。

这些是我的提示希望这有助于完成不熟悉的代码的艰巨任务。请尽量不要压力。呼吸,记住这些,你会没事的
你有什么?我也很想听听你的提示和技巧。

关于我

我是Bits n Bytes Dev Team的完整堆栈Web开发人员和联合创始人,这是一群极具天赋和专业的自由开发人员,我们根据客户独特的业务需求提供基于尖端技术的定制Web应用程序开发服务。 。

我可以租用,您可以访问我的投资组合网站https://www.bitsnbytes.ir/portfolio或通过raadi@bitsnbytes.ir与我联系。

资讯来源:由0x资讯编译自DEV,原文:https://dev.to/mjraadi/don-t-let-that-huge-codebase-scare-you-tips-and-tools-to-make-sense-of-other-people-s-code-3lgb ,版权归作者所有,未经许可,不得转载
你可能还喜欢