Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
c07cf794
C
Coca
项目概览
Phodal
/
Coca
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Coca
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
c07cf794
编写于
12月 28, 2019
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: extract some common method
上级
2f95bf14
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
88 addition
and
19 deletion
+88
-19
README.md
README.md
+6
-5
_fixtures/abug/AgentUtils.java2
_fixtures/abug/AgentUtils.java2
+0
-0
cmd/api.go
cmd/api.go
+2
-14
cmd/arch.go
cmd/arch.go
+36
-0
cmd/cmd_util.go
cmd/cmd_util.go
+30
-0
core/domain/arch/arch_app.go
core/domain/arch/arch_app.go
+14
-0
未找到文件。
README.md
浏览文件 @
c07cf794
...
...
@@ -15,8 +15,9 @@ Todo:
-
[x] Show all todos and history
-
[ ] Suggest API for Design Patterns
-
[x] factory pattern
-
[ ] strategy
-
[ ] builder
-
[x] strategy
-
[x] builder
-
[ ] cycle-deps -> adapter / agency
-
[ ] Docs
-
[ ] Lifecycle for new projects: evaluate (cloc, bad smell, api, git, todo) -> design -> patterns (suggest) -> refactoring ()
-
Evaluate API
...
...
@@ -27,11 +28,11 @@ Todo:
-
[ ] microservice
-
[ ] big data
-
Badsmell
-
[
] sort method size
-
[
x
] sort method size
-
Tests
-
[ ] Testable?
-
[ ] Test badsmell
-
[ ] Test bad smell list [https://testsmells.github.io/pages/testsmells.html]
-
[ ] Test badsmell
-
[ ] Test bad smell list [https://testsmells.github.io/pages/testsmells.html]
## Usage
...
...
_fixtures/abug/AgentUtils.java
→
_fixtures/abug/AgentUtils.java
2
浏览文件 @
c07cf794
文件已移动
cmd/api.go
浏览文件 @
c07cf794
...
...
@@ -7,12 +7,10 @@ import (
"github.com/phodal/coca/core/adapter"
.
"github.com/phodal/coca/core/adapter/api"
"github.com/phodal/coca/core/domain/call_graph"
"github.com/phodal/coca/core/models"
.
"github.com/phodal/coca/core/support"
"github.com/spf13/cobra"
"log"
"os"
"os/exec"
"regexp"
"sort"
"strconv"
...
...
@@ -67,12 +65,7 @@ var apiCmd = &cobra.Command{
_
=
json
.
Unmarshal
(
apiContent
,
&
restApis
)
}
var
parsedDeps
[]
models
.
JClassNode
file
:=
ReadFile
(
depPath
)
if
file
==
nil
{
log
.
Fatal
(
"lost file:"
+
depPath
)
}
_
=
json
.
Unmarshal
(
file
,
&
parsedDeps
)
parsedDeps
:=
GetDepsFromJson
(
depPath
)
restFieldsApi
:=
filterApi
(
apiPrefix
,
restApis
)
...
...
@@ -101,12 +94,7 @@ var apiCmd = &cobra.Command{
}
WriteToCocaFile
(
"api.dot"
,
dotContent
)
cmd
:=
exec
.
Command
(
"dot"
,
[]
string
{
"-Tsvg"
,
config
.
CocaConfig
.
ReporterPath
+
"/api.dot"
,
"-o"
,
config
.
CocaConfig
.
ReporterPath
+
"/api.svg"
}
...
)
_
,
err
:=
cmd
.
CombinedOutput
()
if
err
!=
nil
{
log
.
Fatalf
(
"cmd.Run() failed with %s
\n
"
,
err
)
}
ConvertToSvg
(
"api"
)
}
},
}
...
...
cmd/arch.go
0 → 100644
浏览文件 @
c07cf794
package
cmd
import
(
"fmt"
"github.com/phodal/coca/config"
"github.com/phodal/coca/core/domain/arch"
"github.com/spf13/cobra"
)
type
ArchCmdConfig
struct
{
DependencePath
string
}
var
(
archCmdConfig
ArchCmdConfig
)
var
archCmd
=
&
cobra
.
Command
{
Use
:
"arch"
,
Short
:
"generate arch"
,
Long
:
``
,
Run
:
func
(
cmd
*
cobra
.
Command
,
args
[]
string
)
{
parsedDeps
:=
GetDepsFromJson
(
archCmdConfig
.
DependencePath
)
archApp
:=
arch
.
NewArchApp
()
dotContent
:=
archApp
.
Analysis
(
parsedDeps
)
fmt
.
Println
(
dotContent
)
//ConvertToSvg(dotContent)
},
}
func
init
()
{
rootCmd
.
AddCommand
(
archCmd
)
archCmd
.
PersistentFlags
()
.
StringVarP
(
&
archCmdConfig
.
DependencePath
,
"dependence"
,
"d"
,
config
.
CocaConfig
.
ReporterPath
+
"/deps.json"
,
"get dependence file"
)
}
cmd/cmd_util.go
0 → 100644
浏览文件 @
c07cf794
package
cmd
import
(
"encoding/json"
"github.com/phodal/coca/config"
"github.com/phodal/coca/core/models"
"github.com/phodal/coca/core/support"
"log"
"os/exec"
)
func
GetDepsFromJson
(
depPath
string
)
[]
models
.
JClassNode
{
var
parsedDeps
[]
models
.
JClassNode
file
:=
support
.
ReadFile
(
depPath
)
if
file
==
nil
{
log
.
Fatal
(
"lost file:"
+
depPath
)
}
_
=
json
.
Unmarshal
(
file
,
&
parsedDeps
)
return
parsedDeps
}
func
ConvertToSvg
(
name
string
)
{
cmd
:=
exec
.
Command
(
"dot"
,
[]
string
{
"-Tsvg"
,
config
.
CocaConfig
.
ReporterPath
+
"/"
+
name
+
".dot"
,
"-o"
,
config
.
CocaConfig
.
ReporterPath
+
"/"
+
name
+
".svg"
}
...
)
_
,
err
:=
cmd
.
CombinedOutput
()
if
err
!=
nil
{
log
.
Fatalf
(
"cmd.Run() failed with %s
\n
"
,
err
)
}
}
core/domain/arch/arch_app.go
0 → 100644
浏览文件 @
c07cf794
package
arch
import
"github.com/phodal/coca/core/models"
type
ArchApp
struct
{
}
func
NewArchApp
()
ArchApp
{
return
*&
ArchApp
{}
}
func
(
a
ArchApp
)
Analysis
(
deps
[]
models
.
JClassNode
)
string
{
return
""
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录