天涯论坛

 找回密码
 立即注册
搜索
查看: 37|回复: 2

代码与图表关系的四个层次

[复制链接]

3043

主题

119

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99159074
发表于 2024-8-20 13:01:54 | 显示全部楼层 |阅读模式

背景

像 Godot 或 Unity 这般的游戏引擎,它们准许编写普通代码,同期能够创建和编辑场景。

Godot游戏引擎是一款制作游戏的软件,能够制作2D和3D游戏

咱们爱好运用图表来处理繁杂编程任务,将图表做为一种工具,与代码并行运用

代码与图表的关系,通常能够分为以下四个层次。

Level 0:图表与代码分离存在

咱们能够在一个专门的工具里绘制这些图表,而后用它们来辅助编写代码。

能够把图表放在wiki或知识库里,供项目成员查看。

不外这般做有有些缺点:图表可能难以被发掘况且容易过时

Level 1: 图表与代码并行存在

有一个简单的办法能够处理图表难以发掘的问题:试试在文本文件中插进ASCII图像

这般咱们能够更方便地查看和运用这些图表了。

日前,这可能是咱们能做到的最佳处理方法

火速就会变得杂乱无章。

这个办法有几个优点:容易实现(只要大众同意怎么做),况且很通用(可能有非常多其他用途)。

有缺点:图表还是可能会过时况且,正如“注释不是代码”那样,这儿同样

另一倘若你是在终端里编写代码,这个办法就更不适用了。

Level 2: 由代码生成图表

代码和图表应该共存,图表能够由代码生成。

其实,从代码生成图表完全是咱们常用的集成研发环境(IDE,Integrated Development Environment )能够做到的事。

优点:

总是保持最新。非侵入性:能够集成到IDE中,不影响代码的存储方式。

缺点:

能够帮忙你理解,但真不确定能否真正帮忙你思考?可能不太吸引人,由于这些自动生成的图表常常欠好看。布局一个好看的图表很难。

Level 3: 图表本身便是代码

图表即代码,能够直接执行,这才是咱们追求的将来目的

我认为这便是最后目的。有些东西用文本表达更好,而有些则最好以视觉方式呈现。

咱们应该按照详细状况选取最合适的办法来混合运用

别试图可视化简单的代码,不要在图表更合适时还试图编写代码。

Luna便是一个尝试。她们尝试了双重暗示:所有内容同期以代码和图表的形式存在,你能够在两者之间切换。

这般做,你不仅能享受到两种方式的好处,还会同期受到文本和视觉媒介的限制。

你可能没法处理哪些难以可视化的内容(例如循环、递归、抽象),不可处理哪些难以编码的内容。

我认为文本编码还是应该用在适合的地区,但咱们应该能切换到图表工具中,绘制状态机,并像执行文本代码同样执行它。

当我说“绘制”时,我指的是实质的图形绘制。

便是说,你能够直接操作图形,而必须把它们转换回文本。

图表不该该替代或“加强”文本,它们应该和文本并存,做为一个独立的工具存在。

想象它像游戏引擎,例如 Godot 或 Unity。你能够编写代码,能够创建和编辑场景。

这些场景存储在自己的文件中,有专门的编辑器处理它们,不必须代码暗示

由于在这种状况下,视觉呈现更合适。

目的:图表取代代码

最后强调的是:

不是在说用图形方式来编写代码。

针对文本已然能完成的任务来讲,图形方式其实只是一个不太方便的选取

这个回答了低代码平台为啥推广的欠好,有时代码更好。

将图表用于适当的场景,如状态转换、内存布局和网络请求,而不是全面替代代码。

参考

https://tonsky.me/blog/diagrams/





上一篇:权威数读|19个新职业“入编”! 网络主播在列
下一篇:各层级评职需求!【意见保藏】
回复

使用道具 举报

3119

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99108641
发表于 2024-11-7 16:06:20 | 显示全部楼层
感谢楼主的分享!我学到了很多。
回复

使用道具 举报

3042

主题

2万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065870
发表于 昨天 16:15 | 显示全部楼层
我深受你的启发,你的话语是我前进的动力。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-22 06:40 , Processed in 0.107693 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.