发布时间:2021年2月6日 - 4分钟阅读
开发过程中的部分小细节是为你的Flutter项目生成一个UML图。UML图可以帮助开发者理解你的代码在OOP方面是如何配合的。
如果你的flutter项目有一套UML图,这也是开发者专业性的一个好标志。让我告诉你一个简单的方法来为你的flutter项目生成一些UML图。
UML插件
George Lesica 创建了 dcdg 插件,为 dart 和 flutter 项目生成 UML 图。
dart dcdg插件作者简介
George Lesica 不仅制作了 dcdg dart 插件,还制作了一些其他的 dart 东西,如叫做 Disp 的 Lisp 解释器。查看他的github简介(github.com/glesica)
前提条件
请注意,Flutter-SDK将dart安装在flutter-SDK中,设置环境变量和路径的正确方法是。
ENVS
FLUTTER_SDK_ROOT your-path-to-the-flutter-sdk-folder
并且,需要设置的是这些路径。
PATH SETTINGS
FLUTTER_SDK_ROOT/FLUTTER_SDK_ROOTbin
FLUTTER_SDK_ROOT\.pub-cache
注意:在MS Windows上,当我在路径设置中和在power-shell命令中引用env变量时,我必须用开头和结尾的%来分隔env变量。在Mac和Linux上,一旦你设置了一个env,你就需要使用前面的$。还要注意的是,pub-cache设置在flutter sdk文件夹中,而不是Google Docs在Mac、Linux和MS Windows上所说的位置,否则我们就无法在MacOSX、Linux和MS Windows上正常地进行跨平台操作。当他们从flutter 1.1过渡到flutter 1.2时,pub-cache的位置被移动了。
DCDG 插件
dcdg插件使用PlantUML来生成puml文本文件。只要把plantuml jar放在一个文件夹里,并设置env变量指向plantuml.jar文件。这样,当你使用java -jar命令使用puml文件作为输入来输出png文件时,你就可以参考这个env名称。
要安装那个dart dcdg插件,请记住,你需要在pub命令前加上flutter,就像它说的那样。
pub global dcdg activate
在dcdg插件页面上。但是,实际上是这样的,因为你把flutter和dart sdks一起安装了。
flutter pub global dcdg activate
在你的flutter sdk中,因为它有dart sdk在同一个sdk中。如果你不相信,试着以其他方式输入,你应该得到一个找不到pub的错误。
在我们开始实际的UML图的生成之前,确保你的IDE安装了PlantUML插件。
- Android Studio plugins.jetbrains.com/plugin/7017…
- VSCode marketplace.visualstudio.com/items?itemN…
现在,让我们得到一些UML图!
生成UML图
在你的终端上,在你的flutter项目的位置上,你将输入。
dcdg -o uml\samsara.puml
假设你在Flutter项目中首先创建了一个子文件夹uml,这个命令行集应该在UML子文件夹中产生一个samsara.puml文件。而且,你将可以在你的IDE中用你安装的PlantUML插件查看该文件。
为了得到png文件,在你的终端上再这样做。
java -jar %PLANTUML% uml\samsara.puml
请记住,这是MS Windows ps的方法,如果你在MacOSX或Linux上,你需要把PLANTUML的环境名称去掉开头和结尾的%,然后在环境名称上加一个$的前缀即可。你会得到一个图像。
简而言之,统一建模语言(我们称之为UML)是一种表达编程代码OOP结构的方式。方块代表类,由大C表示,变量在最上面的子框中,下面的框表示函数。方块表示声明为私有的变量和函数,圆圈表示非私有的函数和变量。
结论
你现在可以为你的Flutter项目生成一个UML图,这本身听起来并不算什么。但是,我必须向您展示所有的开发操作部分,以及如何在您的flutter项目中把这些部分放在一起实现开发操作自动化。
通过看到这些部分的组合和自动化,你会明白,你可以在创建flutter项目时就开始进行开发作业,而不是等待。是的,即使你正在开始学习flutter和dart。
商标通知
谷歌拥有以下商标;Dart, Flutter, Android, Roboto, Noto. 苹果拥有iOS、MacOSX、Swift和ObjectiveC商标。在我的能力范围内,我遵循上述商标的品牌和使用指南。
资源
- DCDG Plugin@pub.dev pub.dev/packages/dc…
- PlantUML plantuml.com/
- Android Studio PlantUML PLugin plugins.jetbrains.com/plugin/7017…
- Visual StudioCode PlantUML Plugin marketplace.visualstudio.com/items?itemN…
关于Fred Grott
我是一个疯狂的SOB,作为一个前安卓手机开发者,我开始写关于flutter手机应用的开发、设计和生活(见Eff COVID和GOP fredgrott.medium.com/eff-covid-a… )。我是否会达到关键的一百万中级月度浏览者大关?坐下来,看着它发生。在这些社交平台上找到我: