当前位置:首页 > 其他 > 正文内容

全网最适合入门的面向目标编程教程:13 类和目标的Python完成-可视化阅览代码神器Sourcetrail的装置运用

邻居的猫1个月前 (12-09)其他665

全网最适合入门的面向目标编程教程:13 类和目标的 Python 完成-可视化阅览代码神器 Sourcetrail 的装置运用

摘要:

本文首要介绍了可视化阅览代码神器Sourcetrail的装置与运用,包括软件简介和特性、下载地址、装置办法、新建工程和怎么检查剖析源码,一起简略介绍了PyCharm中Sourcetrail插件的运用。

原文链接:

FreakStudio 的博客

往期引荐:

学嵌入式的你,还不会面向目标??!

全网最适合入门的面向目标编程教程:00 面向目标规划办法导论

全网最适合入门的面向目标编程教程:01 面向目标编程的根本概念

全网最适合入门的面向目标编程教程:02 类和目标的 Python 完成-运用 Python 创立类

全网最适合入门的面向目标编程教程:03 类和目标的 Python 完成-为自定义类增加特点

全网最适合入门的面向目标编程教程:04 类和目标的Python完成-为自定义类增加办法

全网最适合入门的面向目标编程教程:05 类和目标的Python完成-PyCharm代码标签

全网最适合入门的面向目标编程教程:06 类和目标的Python完成-自定义类的数据封装

全网最适合入门的面向目标编程教程:07 类和目标的Python完成-类型注解

全网最适合入门的面向目标编程教程:08 类和目标的Python完成-@property装修器

全网最适合入门的面向目标编程教程:09 类和目标的Python完成-类之间的联系

全网最适合入门的面向目标编程教程:10 类和目标的Python完成-类的承继和里氏替换准则

全网最适合入门的面向目标编程教程:11 类和目标的Python完成-子类调用父类办法

全网最适合入门的面向目标编程教程:12 类和目标的Python完成-Python运用logging模块输出程序运行日志

更多精彩内容可看:

给你的 Python 加加快:一文速通 Python 并行计算

一文搞懂 CM3 单片机调试原理

肝了半个月,嵌入式技能栈大汇总出炉

电子计算机类竞赛的“武林秘籍”

一个MicroPython的开源项目集锦:awesome-micropython,包括各个方面的Micropython东西库

文档和代码获取:

可拜访如下链接进行对文档下载:

https://github.com/leezisheng/Doc

image

本文档首要介绍怎么运用 Python 进行面向目标编程,需求读者对 Python 语法和单片机开发具有根本了解。比较其他解说 Python 面向目标编程的博客或书本而言,本文档愈加详细、侧重于嵌入式上位机运用,以上位机和下位机的常见串口数据收发、数据处理、动态图制作等为运用实例,一起运用 Sourcetrail 代码软件对代码进行可视化阅览便于读者了解。

相关示例代码获取链接如下:https://github.com/leezisheng/Python-OOP-Demo

正文

这儿,咱们能够运用 Sourcetrail 软件对代码进行可视化阅览。Sourcetrail 是一个免费开源、跨渠道的可视化源码探究项目,能够运用图形直观地表明了调用上游和下流,类成员列表等等细节,使得了解源代码的结构变得很简单。下图是咱们用 Sourcetrail 剖析示例代码得到的图形化类图,能够很简单的看出 SerialClass 和 SensorClass、MasterClass 间的承继联系以及每个类的办法和特点:

image

关于 Sourcetrail 的下载装置能够检查:

https://github.com/CoatiSoftware/Sourcetrail/releases

咱们挑选 Sourcetrail_2021_4_19_Windows_64bit_Installer.zip 版别进行下载,下载装置包解压后,能够看到有一个 msi 文件,双击装置即可:

image

image

假如装置过程中遇到错误代码 2053 提示,检查以下链接处理:

https://zhuanlan.zhihu.com/p/356008224

接下来咱们来看怎么用 sourcetrail 剖析源代码,翻开 sourcetrail 软件,首要点击新建工程:

image

接着填写项目名称和需求解析文件的地址:

image

接着点击增加源码组:

image

挑选 Python 文件,创立空的源码剖析组,点击 next:

image

依照下图所示填写信息即可:

image

这儿,运用虚拟环境的同学能够运用 conda env list 获取虚拟环境解说器方位:

image

装备好后点击创立:

image

开端创立,留意一定要勾选 shallow python index 选项,点击开端:

image

这儿,能够看到咱们的剖析成果,Sourcetrail 将解析成果按“文件”、“模块”等大致分了类,能够极大便当咱们阅览别人代码的作业。点击 classes:

image

能够看到咱们文件中包括哪些类:

image

点击 SerialClass 类能够看检查特点和办法,右边有对应源码:

image

点击恣意办法,能够看到该办法的调用状况:

image

项目中的符号都能够点击,支撑来回跳转,还支撑含糊查找。左边源码结构十分明晰,关于了解生疏代码结构十分有用。

image

咱们也能够在 Pycharm 中装置插件 idea-sourcetrail 与其合作运用,sourcetrail 支撑跟你喜爱的代码修改器链接,在修改器中右键,就能激活 sourcetrail 检查上下可视化内容。当然也能够反过来,在 sourcetrail 中点击,直接能够在修改器中修改该文件。

image

点击装置并运用,重启 IDE。详细运用能够参阅:

https://cloud.tencent.com/developer/news/594864

Sourcetrail 还能够与其他修改器链接,比方: Atom, Clion, Eclipse, Emacs, IntelliJ IDEA 等等。还有更多功用能够拜见官方文档:

https://www.sourcetrail.com/python/

实际上这类源码剖析东西还有许多,比方 Source Insight 和 Understand。

image

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=681

分享给朋友:

“全网最适合入门的面向目标编程教程:13 类和目标的Python完成-可视化阅览代码神器Sourcetrail的装置运用” 的相关文章

三着急教你爆改烂大街项目

三着急教你爆改烂大街项目

简历上如何写项目 最近收到最多的发问便是, 简历上应该写什么项目, 应该预备什么项目, 项目阅历怎样写到简历上. 假如你简历上没有实习阅历 简历就写一个事务项目一个轮子项目.假如你有一段实习阅历 那就先写你实习的项目, 再写一个事务项目和一个轮子项目.假如你有两段以上的实习阅历 那就写2个实习阅历项...

你还用ES存恳求日志?ClickHouse+Vector打造最强Grafana日志剖析看板

你还用ES存恳求日志?ClickHouse+Vector打造最强Grafana日志剖析看板

为什么要做NGINX日志剖析看板 Grafana官网的dashboards有NGINX日志收集到ES数据源的展现看板,也有收集到LOKI数据源的展现看板,唯一没有收集到ClickHouse数据源的展现看板。所以这个轮子是必需求造的。 为什么不运用ES存储 ElasticSearch是全文检索引擎的文...

MerkleTree in BTC

MerkleTree in BTC

Merkle 树是一种用于高效且安全地验证大数据结构完整性和一致性的哈希树。它在比特币网络中起到至关重要的效果。Merkle 树是一种二叉树结构,其间每个叶子节点包括数据块的哈希值,每个非叶子节点包括其子节点哈希值的组合哈希。 比特币网络中的 Merkle 树 在比特币区块链中,每个区块包括多个买卖...

区块链币,未来金融的基石

区块链币,也称为数字货币,是基于区块链技术的电子货币形式。区块链是一种去中心化、不可篡改的分布式账本技术,通过密码学、P2P网络、时间戳服务器和共识算法等技术,确保交易记录的安全性和透明性。 区块链币的基本概念1. 去中心化:区块链技术不依赖于单一的中心化机构或权威来验证和管理数据,而是由网络中的参...

区块链信息服务,技术革新与合规发展的双轨并行

区块链信息服务,技术革新与合规发展的双轨并行

区块链信息服务是指基于区块链技术或系统,通过互联网站、应用程序等形式向社会公众提供信息服务的活动。以下是对区块链信息服务的详细说明: 1. 区块链信息服务概述区块链信息服务是基于区块链技术的一种新型信息服务模式,它利用区块链的去中心化、数据不可篡改和透明性等特点,为社会公众提供各种信息服务。这些服务...

阿里云区块链,引领企业级区块链应用的新时代

阿里云区块链,引领企业级区块链应用的新时代

阿里云区块链服务(Blockchain as a Service,简称BaaS)是一种基于主流区块链技术的企业级PaaS(Platform as a Service)平台服务,由蚂蚁区块链团队提供技术支持。该服务旨在帮助用户快速构建稳定、安全的生产级区块链环境,减少在区块链部署、运维、管理、应用开发...