如何理解和分析网站源代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何理解和分析网站源代码相关的知识,希望对你有一定的参考价值。

我必须进行维护并在客户端网站上添加一些代码(jsp,js等数百个源文件),但首先我有两周的时间来了解它是如何工作的。源代码不包含注释,但它是有组织的。但是,有很多文件要经过。

一般来说,我曾与一些中型网站合作,而我理解源代码的方法是:

  1. 理解界面(vue)
  2. 分析源代码并从主页开始发表评论

但是这个网站真的很庞大,我想知道是否有更好的方法或技术来理解它,或者是否有可以提供帮助的软件(报告?)或在线教程。

我正在寻找任何可以帮助我提高效率和快速分析源代码的信息。

答案

您可以使用Web开发工具(如firebug,F12开发人员工具等)来检查,编辑和监视CSS,htmljavascript等。

另一答案

让自己成为一个IDE,Dreamweaver需要花钱,但其他像aptana是免费的。它们将允许您查看文件夹结构并使代码更具可读性。不要以为还有另外一种方法,只需要继续浏览网站,看看以前的开发人员是如何做事的,希望他们有一些标准的方式来做事情

另一答案

你很幸运 - 你可以购买book

根据我的经验,一旦你进入大型项目,你需要得到一些帮助......

首先,安装Sonar,并将其配置为检查项目。它提供了代码库的高级概述,并突出了看起来有风险的领域 - 在接管代码库时,重要的是要知道你是在看一个设计良好的应用程序,还是一堆獾粪便。尽管静态分析是一种非常钝的工具,并且在许多情况下可能是错误的,但这是一个非常好的开始。如果你看到“规则合规性”低于75%左右,那就跑到山上。

我花了相当多的时间来查看声纳分析,并根据您找到的内容使用插件添加一些额外的报告。

接下来,我将确保了解内部构建和部署过程。大多数时候,你可以弄清楚代码的作用,即使它有点疯狂 - 但是部署通常是伏都教,有许多激动人心的失败模式。获得测试环境,并确保您可以从头开始编译和部署应用程序 - 这是了解移动部件的最佳方式。

在您这样做时,建立自己的版本控制系统,持续集成环境等是有意义的。

最后,您可以找到任何类型的测试信息都是一个巨大的帮助 - 自动化(Junit,Selenium等)甚至是测试脚本的形式。毕竟,如果您不知道会发生什么,您怎么知道应用程序是否按预期工作?如果您没有进行任何测试,我强烈建议您先编写自己的单元测试。这是掌握其他人代码的绝佳方式 - 如果由于某种原因无法编写单元测试,那通常是寻找新工作的另一个标志。

另一答案

你应该记住,你不需要了解每一段代码的工作原理,你只需知道你需要知道什么 - 可以这么说。

我所说的是,例如,如果您的客户要求您在其网站上添加公告板,则无需花费数天时间挖掘他的JavaScript文件以“弄清楚他们做了什么”。你只需要了解他的环境就足以知道如何设置公告板然后再继续。

同样,如果他希望您创建一个Contact Us表单并且他的页面是用php完成的,那么您不需要知道今天每个PHP代码如何通过该站点运行,您只需要知道如何创建一个邮件表单在PHP中并将其包含在网站中。

作为一个更高级的说明,如果您要在此站点上进行维护,我强烈建议将这些文件放在Revision Control下。基本上,这些系统可以帮助您管理对代码所做的更改。几天,几周,几个月或(希望对你而言)岁月,变化很多,能够看到你改变事物的方式和原因是很好的。

就软件而言,这只是一个偏好问题,但我使用NetBeans IDE作为我的IDE和TortoiseHg用于版本控制。

以上是关于如何理解和分析网站源代码的主要内容,如果未能解决你的问题,请参考以下文章

我对编程原理见解

通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的

分析一套源代码的代码规范和风格并讨论如何改进优化代码

Xcode 理解如何分析调用栈

Linux内核分析第一周-通过分析汇编代码理解计算机是如何工作的

thinkphp session漏洞的修复解决办法(附代码分析与检测)