Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Phodal
Coca
提交
3fe6cbf5
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 搜索 >>
未验证
提交
3fe6cbf5
编写于
12月 31, 2019
作者:
P
Phodal Huang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: refactor bs write logic
上级
8c05762f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
16 addition
and
12 deletion
+16
-12
cmd/bs.go
cmd/bs.go
+9
-5
core/context/bs/bad_smell_app.go
core/context/bs/bad_smell_app.go
+5
-6
core/context/bs/bad_smell_app_test.go
core/context/bs/bad_smell_app_test.go
+2
-1
未找到文件。
cmd/bs.go
浏览文件 @
3fe6cbf5
...
...
@@ -30,20 +30,24 @@ var badsmellCmd = &cobra.Command{
ignoreRules
:=
strings
.
Split
(
ignoreStr
,
","
)
bsApp
:=
*
bs2
.
NewBadSmellApp
()
bsList
:=
bsApp
.
AnalysisPath
(
importPath
,
ignoreRules
)
bsList
:=
bsApp
.
AnalysisPath
(
importPath
)
bsModel
,
_
:=
json
.
MarshalIndent
(
bsList
,
""
,
"
\t
"
)
cmd_util
.
WriteToCocaFile
(
"nodeInfos.json"
,
string
(
bsModel
))
filterBs
:=
bsApp
.
FilterBadSmell
(
bsList
,
ignoreRules
)
filterBsModel
,
_
:=
json
.
MarshalIndent
(
filterBs
,
""
,
"
\t
"
)
if
sortType
==
"type"
{
sortSmells
:=
bs_domain
.
SortSmellByType
(
bsList
,
isSmellHaveSize
)
b
sModel
,
_
=
json
.
MarshalIndent
(
sortSmells
,
""
,
"
\t
"
)
sortSmells
:=
bs_domain
.
SortSmellByType
(
filterBs
,
isSmellHaveSize
)
filterB
sModel
,
_
=
json
.
MarshalIndent
(
sortSmells
,
""
,
"
\t
"
)
}
cmd_util
.
WriteToCocaFile
(
"bs.json"
,
string
(
b
sModel
))
cmd_util
.
WriteToCocaFile
(
"bs.json"
,
string
(
filterB
sModel
))
},
}
func
isSmellHaveSize
(
key
string
)
bool
{
var
smellList
=
[]
string
{
"largeClass"
,
...
...
core/context/bs/bad_smell_app.go
浏览文件 @
3fe6cbf5
package
bs
import
(
"encoding/json"
"fmt"
"github.com/antlr/antlr4/runtime/Go/antlr"
"github.com/phodal/coca/cmd/cmd_util"
"github.com/phodal/coca/core/adapter/coca_file"
"github.com/phodal/coca/core/domain/bs_domain"
"github.com/phodal/coca/core/infrastructure/ast/bs"
...
...
@@ -20,7 +18,7 @@ func NewBadSmellApp() *BadSmellApp {
return
&
BadSmellApp
{}
}
func
(
j
*
BadSmellApp
)
AnalysisPath
(
codeDir
string
,
ignoreRules
[]
string
)
[]
bs_domain
.
BadSmellModel
{
func
(
j
*
BadSmellApp
)
AnalysisPath
(
codeDir
string
)
*
[]
bs_domain
.
BsJClass
{
nodeInfos
=
nil
files
:=
coca_file
.
GetJavaFiles
(
codeDir
)
for
index
:=
range
files
{
...
...
@@ -42,10 +40,11 @@ func (j *BadSmellApp) AnalysisPath(codeDir string, ignoreRules []string) []bs_do
nodeInfos
=
append
(
nodeInfos
,
nodeInfo
)
}
bsModel
,
_
:=
json
.
MarshalIndent
(
nodeInfos
,
""
,
"
\t
"
)
cmd_util
.
WriteToCocaFile
(
"nodeInfos.json"
,
string
(
bsModel
))
return
&
nodeInfos
}
bsList
:=
AnalysisBadSmell
(
nodeInfos
)
func
(
j
*
BadSmellApp
)
FilterBadSmell
(
nodeInfos
*
[]
bs_domain
.
BsJClass
,
ignoreRules
[]
string
)
[]
bs_domain
.
BadSmellModel
{
bsList
:=
AnalysisBadSmell
(
*
nodeInfos
)
mapIgnoreRules
:=
make
(
map
[
string
]
bool
)
for
_
,
ignore
:=
range
ignoreRules
{
...
...
core/context/bs/bad_smell_app_test.go
浏览文件 @
3fe6cbf5
...
...
@@ -13,7 +13,8 @@ func TestBadSmellApp_AnalysisPath(t *testing.T) {
codePath
:=
"../../../_fixtures/bs"
codePath
=
filepath
.
FromSlash
(
codePath
)
bsList
:=
bsApp
.
AnalysisPath
(
codePath
,
nil
)
bs
:=
bsApp
.
AnalysisPath
(
codePath
)
bsList
:=
bsApp
.
FilterBadSmell
(
bs
,
nil
)
g
.
Expect
(
len
(
bsList
))
.
To
(
Equal
(
4
))
g
.
Expect
(
bsList
[
0
]
.
Bs
)
.
To
(
Equal
(
"complexCondition"
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录