GoCity

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

Github stars Tracking Chart

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)

Main metrics

Overview
Name With Ownerrodrigo-brito/gocity
Primary LanguageGo
Program languageGo (Language Count: 4)
PlatformLinux, Mac, Windows
License:MIT License
所有者活动
Created At2018-09-02 12:17:56
Pushed At2023-12-18 22:53:42
Last Commit At2023-03-18 20:40:35
Release Count6
Last Release Namev1.0.6 (Posted on )
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count1.8k
Watchers Count28
Fork Count139
Commits Count113
Has Issues Enabled
Issues Count38
Issue Open Count5
Pull Requests Count39
Pull Requests Open Count4
Pull Requests Close Count9
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

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