未验证 提交 e9d82f3c 编写于 作者: P Phodal Huang

feat: add basic split words

上级 c506d4aa
......@@ -4,7 +4,8 @@ go 1.13
require (
github.com/antlr/antlr4 v0.0.0-20191031194250-3fcb6da1f690
github.com/go-ego/gse v0.0.0-20191212182315-b30156ea952e // indirect
github.com/go-ego/gse v0.0.0-20191212182315-b30156ea952e
github.com/iancoleman/strcase v0.0.0-20191112232945-16388991a334
github.com/onsi/ginkgo v1.10.3
github.com/onsi/gomega v1.7.1
github.com/spf13/cobra v0.0.5
......
......@@ -2,6 +2,7 @@ package domain
import (
"coca/src/adapter/models"
"coca/src/domain/support"
"fmt"
)
......@@ -18,5 +19,20 @@ func (c ConceptAnalyser) run() {
}
func (c ConceptAnalyser) Analysis(path string, clzs *[]models.JClassNode) {
fmt.Println(clzs)
buildMethodsFromDeps(*clzs)
}
func buildMethodsFromDeps(clzs []models.JClassNode) {
var methodsName []string
var methodStr string
for _, clz := range clzs {
for _, method := range clz.Methods {
methodName := method.Name
methodsName = append(methodsName, methodName)
methodStr = methodStr + " " + methodName
}
}
camelcase := support.SegmentConceptCamelcase(methodsName)
fmt.Println(camelcase)
}
package support
import (
"github.com/iancoleman/strcase"
"strings"
)
type ConceptSegmenter struct {
}
var strMap map[string]int
func SegmentConceptCamelcase(methodsName []string) map[string]int {
strMap = make(map[string]int)
for _, name := range methodsName {
delimited := strcase.ToDelimited(name, '.')
split := strings.Split(delimited, ".")
for _, word := range split {
if strMap[word] == 0 {
strMap[word] = 1
} else {
strMap[word] = strMap[word] + 1
}
}
}
return strMap
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册