GoCity

Code City 的隐喻,让 Go 源代码在 3D 中可视化。(Code City metaphor for visualizing Go source code in 3D)

Github星跟踪图

GoCity

可在此查阅:https://go-city.github.io

研究论文。第26届国际软件分析、进化和再造会议(SANER)

PDF版本。ASERG 页面

GoCity 是 Code City 隐喻的一个实现,用于可视化源代码。GoCity 将一个 Go 程序表示为一个城市,如下所示。

  • 文件夹是区域
  • 文件是建筑物
  • Structs 在其文件的顶部以建筑物的形式表示。

结构的特点

  • 源代码行数(LOC)代表构建的颜色(数值高则建筑颜色深)
  • 变量数(NOV)与建筑物的基本尺寸有关。
  • 方法数(NOM)与建筑高度相关。

私人存储库/本地主机

安装 gocity。

  • go get -u github.com/rodrigo-brito/gocity

打开一个本地项目。

  • gocity open github.com/example/my-project

UI/前端

UI 使用 React 构建,使用 babylon.js 绘制 3D 结构。前端源码可在前端分支中获取。

相关作品

这个工具是米纳斯吉拉斯联邦大学(UFMG)开发的科学研究的一部分。

学生:Rodrigo Brito

顾问:Marco Tulio Valente


(The first version translated by vz on 2020.08.29)

主要指标

概览
名称与所有者rodrigo-brito/gocity
主编程语言Go
编程语言Go (语言数: 4)
平台Linux, Mac, Windows
许可证MIT License
所有者活动
创建于2018-09-02 12:17:56
推送于2023-12-18 22:53:42
最后一次提交2023-03-18 20:40:35
发布数6
最新版本名称v1.0.6 (发布于 )
第一版名称v1.0.0 (发布于 )
用户参与
星数1.8k
关注者数28
派生数139
提交数113
已启用问题?
问题数38
打开的问题数5
拉请求数39
打开的拉请求数4
关闭的拉请求数9
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?

Actions Status
Build Status
codecov
Go Report Card
GoDoc


Available here: https://go-city.github.io

Research Paper: 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)
PDF Version: ASERG Page

GoCity is an implementation of the Code City metaphor for visualizing source code. GoCity represents a Go program as a city, as follows:

  • Folders are districts
  • Files are buildings
  • Structs are represented as buildings on the top of their files.

Structures Characteristics

  • The Number of Lines of Source Code (LOC) represents the build color (high values makes the building dark)
  • The Number of Variables (NOV) correlates to the building's base size.
  • The Number of methods (NOM) correlates to the building height.

Private Repositories / Localhost

Install gocity:

  • go get -u github.com/rodrigo-brito/gocity

Open a local project:

  • gocity open github.com/example/my-project

UI / Front-end

The UI is built with React and uses babylon.js to plot 3D structures. The front-end source code is available in the front-end branch.

This tool makes part of a scientific research developed at Federal University of Minas Gerais (UFMG)
Student: Rodrigo Brito
Advisor: Marco Tulio Valente