版权声明:本文为博主原创文章,转载时麻烦注明源文章链接,谢谢合作 https://blog.csdn.net/u013088062/article/details/50353202
  1、什么是UML

  UML类图能够快速检查代码结构。

  2、主题

  UML类图在Pycharm中的用法。

  3、准备工作

  (1)Pycharm版本为2.7或更高

  (2)安装Python解释器

  (3)UML插件以及UML类图插件安装并能正常使用

  4、准备一个例子

  创建一个Animals模块以及 Mammal.py文件(Alt+Insert→Python Package, Python File),输入以下代码:

  继续向其中添加更多类,例如Carnivore和Herbivore。

  5、通过UML类图浏览程序结构

  假设我们想查看mammals的派生结构,在Project tool window窗口中,右击Mammal.py,指向快捷菜单中的 Diagrams节点,选择如下可用命令:

  (1)Show Diagram:在当前编辑选项卡内打开UML类图

  (2)Show Diagram Popup:在单独窗口中显示UML类图

  选择mammals中的一个类(例如marsupials),用UML类图查看它:

  也可以使用快捷键Ctrl+Alt+U(当前窗口)或Ctrl+Alt+Shift+ U(独立窗口)。

  单击和按钮查看详细信息:

  也可以使用快捷菜单:

  更多工具栏及快捷菜单的功能参见Class Diagram Toolbar and Context Menu页。

  接下来向其中加入注释。选择想要注释的元素,按下Alt+Insert:

  回车,输入注释内容:

  单击OK,注释添加完毕:

  6、结构图与源码间导航

  如何从结构图跳转到响应的源码位置?

  在结构图中选择一个节点元素,按下F4或者右键快捷菜单选择Jump to Source命令:

  7、UML结构图作用

  8、查找所有引用

  在结构图中选择一个节点元素,右击,在快捷菜单中选择Find Usages,或者使用Alt+F7快捷键:

  9、重构

  可以直接在类图中对类或者成员就行重构(重命名等)。

  在类图中右击待修改的节点,指向Refactor命令,在子菜单中选择对应命令。

  例如你希望对一个类进行重命名,需要在类图中选中它,然后选择Refactor→Rename快捷菜单命令或者按下Shift+F6:

  10、向模型中添加元素

  按下Space,在弹出的窗口中输入类型和名称:

  添加Carnivore:

  接下来手动创建更多类,如 Carnivore或Herbivore,指定mammal类型。例如Cow继承了Herbivore 和Eutherian。Tiger继承了Carnovire 和Eutherian。 Duckbill 继承了Herbivore 和Marsupial,TasmanianDevil继承了Carnivore 和Marsupial:

  按下Space,将这些类加入类图:

  单击按钮,优化显示风格:

  11、从类图中移除元素

  在类图中选中一个元素,Delete:

  此时删除的类仍存在于源码中,只是在类图中不可见:

  12、通过类图浏览代码更改

  推荐使用Ctrl+Alt+Shift+D快捷键,或者按钮。
---------------------
作者:山在岭就在
来源:CSDN
原文:https://blog.csdn.net/u013088062/article/details/50353202
版权声明:本文为博主原创文章,转载请附上博文链接!

最全Pycharm教程(43)——Pycharm扩展功能之UML类图使用 代码结构的更多相关文章

  1. UML类图简明教程

    作者:郭孝星 微博:郭孝星的新浪微博 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells Github:https://github.co ...

  2. PyCharm 教程

    转自:http://blog.csdn.NET/u013088062/article/details/50388329 作者:山在岭就在 之间花了一周多的时间把Pycharm官方帮助文档翻译了一遍,一 ...

  3. 最全PyCharm教程

    最全PyCharm教程--for python PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrai ...

  4. 最全Pycharm教程(11)——Pycharm调试器之断点篇

    最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...

  5. 最全Pycharm教程(10)——Pycharm调试器总篇

    最全Pycharm教程(1)--定制外观 最全Pycharm教程(2)--代码风格 最全Pycharm教程(3)--代码的调试.执行 最全Pycharm教程(4)--有关Python解释器的相关配置 ...

  6. 最全PyCharm教程--for python

    PyCharm简介: PyCharm是由JetBrains打造的一款Python IDE,VS2010的重构插件Resharper就是出自JetBrains之手.   同时支持Google App E ...

  7. PyCharm 教程(五)断点 调试

    PyCharm 教程(五)断点 调试 PyCharm 作为IDE,断点调试是必须有的功能.否则,我们还真不如用纯编辑器写的快. [运行]和[调试]前的设置,详见前面的文章,helloword. 1,设 ...

  8. PyCharm 教程(四)显示行号

    PyCharm 教程(四)显示行号 在PyCharm 里,显示行号有两种办法: 1,临时设置.右键单击行号处,选择 Show Line Numbers. 但是这种方法,只对一个文件有效,并且,重启Py ...

  9. Web开发入门教程:Pycharm轻松创建Flask项目

    Web开发入门教程:Pycharm轻松创建Flask项目 打开Pycharm的file,选择创建新的项目,然后弹出对话框,我们可以看到里面有很多的案例,Flask.Django等等,我们选择生成Fla ...

随机推荐

  1. 转: CentOS上安装LAMP之第二步:PHP环境及安装过程报错解决方案(纯净系统环境)

    最近有空就配置CentOS系统上的AMP环境,现在配置到PHP环境了 多话不说上传送门:http://blog.csdn.net/zhangatle/article/details/77447653 ...

  2. vue中router以及route的使用

    路由基本概念 route,它是一条路由. { path: '/home', component: Home } routes,是一组路由. const routes = [ { path: '/hom ...

  3. iOS开发——你真的会用SDWebImage?

    http://www.cocoachina.com/ios/20160503/16064.html 本文授权转载,作者:hosea_zhou(简书) SDWebImage作为目前最受欢迎的图片下载第三 ...

  4. [java]java构造器 标签: java面向对象 2017-06-11 11:16 195人阅读 评论(12)

    构造器这个概念,各种语言都有出现,虽然为了考试或者其他学了好多遍,但是自己一直不能理解这个概念,前几天又学了一遍,突然就明白了,下面随小编来一起学习一下吧. 什么是构造器? 在类别基础的面向对象程序设 ...

  5. 阿里云发布SaaS生态战略,成就亿级营收独角兽

    7月26日,在上海举办的阿里云合作伙伴峰会上,阿里云正式发布SaaS生态战略,计划用阿里云的品牌.渠道.资本.方法论.技术加持伙伴,成就亿级营收独角兽. 该生态战略计划招募10家一级SaaS合作伙伴, ...

  6. 【CF Manthan, Codefest 17 A】Tom Riddle's Diary

    [链接]h在这里写链接 [题意] 在这里写题意 [题解] /* Be careful. 二重循环枚举 */ [错的次数] 0 [反思] 在这了写反思 [代码] #include <bits/st ...

  7. noip考前模板复习

    网络流 Dinic(搭配飞行员) //Serene #include<algorithm> #include<iostream> #include<cstring> ...

  8. Java中的四种引用(强引用、软引用、弱引用、虚引用)

    以下内容摘自<深入理解Java虚拟机 JVM高级特性与最佳实践>第2版,强烈推荐没有看过的同学阅读,读完的感觉就是"原来学的都是些什么瘠薄东西(╯‵□′)╯︵┴─┴" ...

  9. python 导入整个模块

  10. 使用multiprocessing的问题总结

    Python2中的multiprocessing模块,规避了GIL(Global Interpreter Lock)带来的多线程无法实际并发的缺点,设计了几乎与threading模块一模一样的API, ...