理解する:詳細効率的なコードの静的解析アーティファクト(a)のターン

Windowsシステムを使用する前に、コードのソースが非常に便利です見に洞察とされているが、多くの物事は、特定のソース洞察ソフトウェアを見つけるためにいくつかの時間前に、非常に幸運、静的コード解析ツール、便利、しかしではないが数年前に、以下のマックに切り替えパワフルなコードの静的解析ツール、-Understandアーティファクトと呼ばれます。ソフトウェアは、強力なコードの静的解析機能を持っており、様々なフローチャートを描くことができ、残念ながら、我々は、Windowsのバージョンを見つけることができませんでしただけで、MacとLinuxのバージョンを確認するために、その友人の申し訳ありませんを使用して、Windowsのシステム。

あまりにも忙しく、ソフトウェアは、あなたがすぐにコードフローの構造を分析することができますので、私は誰にでも事前に共有し、そして私たちは一緒に勉強したいと考えていますので、単純に、ビットを理解し、使用についての時間詳細な研究は、一緒に学びません私はこのソフトウェアの予備的な説明をするの下に、我々は、私はすみやかに修正することを指摘したいと考えて問題箇所があるので、ソフトウェアは英語であるため、詳細な説明は、従います。

インストールは非常に簡単であるため、これを説明するために、プロジェクト構成への直接アクセスを言っているわけではありません。

インポートプロジェクト

プロジェクトのインポート1は、ファイル - >新規作成>プロジェクトのメニューバーをクリックから、他は次のインターフェイス新規プロジェクトの途中でクリックされている二つの方法がありますが、

一度は、あなたのプロジェクトが直接あなたのコードの変更後、プロジェクトが自動的に更新されます開発されてインポ​​ートすることができ、あなたが後で見つけるためにインポートするプロジェクト名としてプロジェクト名を変更することができ、以下のインタフェースに入ります、クリックされましたあなたはすぐに開発することができ、あなたはすべての時間をインポートする必要はありません。

名前の変更後、次のインターフェイスを入力して[次へ]をクリックし、このインターフェースは、あなたが、あなたはいくつかの言語を含むプロジェクトをインポートする選択した二つのモードが後にC / C ++であることに注意して、次の点に注意することができるようにすることです、厳格なモードとオブジェクト-Cを含んでいますオブジェクトC ++だけでなく、ウェブのコメントは、自分のためだけで罰金を参照、これは、説明しません。

そして、次のインターフェイスを入力して[次へ]をクリックします:

このインタフェースでは、プロジェクトが、クリックされたときに、次のインターフェイスをポップアップ表示されますインポートしたいパスを追加、つまり、「ディレクトリを追加」、そして素晴らしいポップアップ画面がマップインターフェイス上でブロックされますがありをクリックし、その後、あなたは移動する必要がありますオープンインタフェースは、次のインタフェースが表示されます。

ボタンをクリックする限りポイントがフォルダを開くと、あなたはプロジェクトフォルダに参加したいの選択の背後にある3つのドットが付いたボタンをクリックしてくださいフォルダを開きます。

此时只需要点击OK即可,界面会跳转到如下界面:

此时有两个选项,一个是立即分析代码,一个选择配置,对于我们来说只需要默认即可,然后点击OK按钮,此时软件开始分析代码,分析完成后会出现如下界面:

左侧会出你的项目结构,中间出现你项目的名称,此时你可以操作左面项目来查看相关代码,如下图所示:

这么多类和方法如何快速定位,那肯定是搜索,该软件针对不同位置,不同属性有不同的搜索方法,下面介绍搜索功能。

搜索功能

1.左侧项目结构中搜索:在这个搜索中你可以快速搜索你要查看的类,快捷键,鼠标点击左侧上面项目结构窗口,然后按command + F键会出现如下图所示的搜索框,在框中输入你想要的类回车即可

2.类中方法搜索:将鼠标定位到右侧代码中,点击command + F,会弹出搜索框,输入方法回车即可:

3.在文件中搜索:也就是全局搜索,快捷键F5或者去上面菜单栏中的search栏中查找,输入你想要的类或者方法,回车查找,下面会列出所有使用的地方:

4.实体类查找:软件菜单栏search中最后一项–Find Entity,点击输入你要查找的实体类,回车查找:

快速搜索是软件快速使用必备的技能,包括我们常用的idea一样,快速定位类,方法,常量等,可以快速帮助我们解决问题。

上面我介绍改软件时提到可以绘制流程图等功能,下面就针对这个功能介绍一些一些图形的绘制功能,帮助你快速分析代码。

项目视图

项目视图包含很多的功能,能够自动生成各种流程图结构图,帮助你快速理清代码逻辑、结构等,以便快速理解项目流程,快速开发,视图查看方式有两种,一种是鼠标点击你要查看的类或者方法等上面,然后右键弹出菜单,鼠标移动到Graphical Views,然后弹出二级菜单,如下图所示:

另一种方式是点击要查看的类或者方法,然后找到代码上面菜单栏中的如下图标:

然后点击图标右下角的下拉箭头,弹出如下菜单,即可选择查看相关视图:

层级关系视图分类:

1.Butterfly:如果两个实体间存在关系,就显示这两个实体间的调用和被调用关系;如下图为Activity中的一个方法的关系图:

2.Calls:展示从你选择的这个方法开始的整个调用链条;

3.Called By:展示了这个实体被哪些代码调用,这个结构图是从底部向上看或者从右到左看;

4.Calls Relationship/Calledby Relationship:展示了两个实体之间的调用和被调用关系,操作方法:首先右键你要选择的第一个实体,然后点击另一个你要选择的实体,如果选择错误,可以再次点击其他正确即可,然后点击ok;

5.Contains:展示一个实体中的层级图,也可以是一个文件,一条连接线读作”x includes y“;

6.Extended By:展示这个类被哪些类所继承,

7.Extends:展示这个类继承自那个类:

结构关系视图分类:

1.Graph Architecture:展示一个框架节点的结构关系;

2.Declaration:展示一个实体的结构关系,例如:展示参数,则返回类型和被调用函数,对于类,则展示私有成员变量(谁继承这个类,谁基于这个类)

3.Parent Declaration:展示这个实体在哪里被声明了的结构关系;

4.Declaration File:展示所选的文件中所有被定义的实体(例如函数,类型,变量,常量等);

5.Declaration Type:展示组成类型;

6.Class Declaration:展示定义类和父类的成员变量;

7.Data Members:展示类或者方法的组成,或者包含的类型;

8.Control Flow:展示一个实体的控制流程图或者类似实体类型;

9.Cluster Control Flow:展示一个实体的流程图或者类似实体类型,这个比上一个更具有交互性;

10.UML Class Diagram:展示这个项目中或者一个文件中定义的类以及与这个类关联的类

11.UML Sequence Diagram:展示两个实体之间的时序关系图;

12.Package:指定したパッケージ名で宣言されたすべてのエンティティへのショー

13.Task:タスクの表示パラメータ、コール・エンティティ

14.Rename宣言:名前を変更するエンティティのすべてのエンティティを表示します

複数のビュー、コードので、11貼り付け、主に練習の様々な機能ビューの構造と役割を示す、独自のデバッグビューが完璧になりますようにするには、いくつかのより多くが動作するように、これはもはやあまり説明しません。最後の望みは、このソフトウェアを使用すると、すぐに誰か他の人の、または独自のコードを読むスピードを開発するのに役立ちます。

1
注意:オリジナルの記事は、ソースを明記してください。

記事タイトル:理解する:詳細効率的なコードの静的解析アーティファクト(A)

著者:Moのシャン

公開日:2016年4月30日 - 22時25分

最終更新日:2016年5月2日 - 16:18を

オリジナルリンク:http://www.codemx.cn/2016/04/30/Understand01/

おすすめ

転載: www.cnblogs.com/idyllcheung/p/11622475.html
おすすめ