From f2576cf42d7e1358f8d009570076484307e89694 Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Sun, 15 Dec 2019 17:30:14 +0800 Subject: [PATCH] docs: update docs --- README.md | 27 +++++- cmd/call_graph.go | 2 +- docs/sample/call_demo.svg | 199 ++++++++++++++++++++++++++++++++++++++ src/domain/call_graph.go | 1 - 4 files changed, 223 insertions(+), 6 deletions(-) create mode 100644 docs/sample/call_demo.svg diff --git a/README.md b/README.md index d761476..0ef1a93 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ install go get https://github.com/phodal/coca ``` - help: ``` @@ -25,14 +24,34 @@ Available Commands: ``` - -Analysis +### Analysis ``` coca analysis -p [PATH] ``` -Refactor +### Build Deps Tree + +``` +coca call -c com.phodal.pholedge.book.BookController.createBook -d deps.json -r com.phodal.pholedge. +``` + +![Call Demo](docs/sample/call_demo.svg) + +### Identify Spring API + +``` +coca api -p examples/api -d deps.json +``` + +### Refactor + +support: + + - rename + - move + - remove unused import + - remove unused class ``` coca refactor -R rename.coca -D deps.json -p src/main diff --git a/cmd/call_graph.go b/cmd/call_graph.go index e9ee206..3fb765b 100644 --- a/cmd/call_graph.go +++ b/cmd/call_graph.go @@ -38,7 +38,7 @@ var callGraphCmd *cobra.Command = &cobra.Command{ WriteToFile("call.dot", content) - cmd := exec.Command("dot", []string{"-Tsvg", "call.dot", "-o", "call.svg"}...) + cmd := exec.Command("dot", []string{"-Tsvg", "call.dot", "-o", "call_demo.svg"}...) _, err := cmd.CombinedOutput() if err != nil { log.Fatalf("cmd.Run() failed with %s\n", err) diff --git a/docs/sample/call_demo.svg b/docs/sample/call_demo.svg new file mode 100644 index 0000000..69a1c59 --- /dev/null +++ b/docs/sample/call_demo.svg @@ -0,0 +1,199 @@ + + + + + + +G + + + +book.BookFactory.create + +book.BookFactory.create + + + +core.IdGenerator.generate + +core.IdGenerator.generate + + + +book.BookFactory.create->core.IdGenerator.generate + + + + + +book.model.Book.create + +book.model.Book.create + + + +book.BookFactory.create->book.model.Book.create + + + + + +book.model.Book.builder + +book.model.Book.builder + + + +book.model.Book.create->book.model.Book.builder + + + + + +book.model.Book.id + +book.model.Book.id + + + +book.model.Book.create->book.model.Book.id + + + + + +book.model.Book.isbn + +book.model.Book.isbn + + + +book.model.Book.create->book.model.Book.isbn + + + + + +book.model.Book.name + +book.model.Book.name + + + +book.model.Book.create->book.model.Book.name + + + + + +book.model.Book.createdAt + +book.model.Book.createdAt + + + +book.model.Book.create->book.model.Book.createdAt + + + + + +book.model.Book.build + +book.model.Book.build + + + +book.model.Book.create->book.model.Book.build + + + + + +book.BookService.createBook + +book.BookService.createBook + + + +book.BookService.createBook->book.BookFactory.create + + + + + +book.model.command.CreateBookCommand.getIsbn + +book.model.command.CreateBookCommand.getIsbn + + + +book.BookService.createBook->book.model.command.CreateBookCommand.getIsbn + + + + + +book.model.command.CreateBookCommand.getName + +book.model.command.CreateBookCommand.getName + + + +book.BookService.createBook->book.model.command.CreateBookCommand.getName + + + + + +book.BookRepository.save + +book.BookRepository.save + + + +book.BookService.createBook->book.BookRepository.save + + + + + +book.model.Book.getId + +book.model.Book.getId + + + +book.BookService.createBook->book.model.Book.getId + + + + + +book.BookMapper.doSave + +book.BookMapper.doSave + + + +book.BookRepository.save->book.BookMapper.doSave + + + + + +book.BookController.createBook + +book.BookController.createBook + + + +book.BookController.createBook->book.BookService.createBook + + + + + diff --git a/src/domain/call_graph.go b/src/domain/call_graph.go index 6123bc8..95685e6 100644 --- a/src/domain/call_graph.go +++ b/src/domain/call_graph.go @@ -35,7 +35,6 @@ func BuildCallChain(funcName string, methodMap map[string][]string) string { arrayResult = arrayResult + BuildCallChain(child, methodMap) } arrayResult = arrayResult + "\"" + funcName + "\" -> \"" + child + "\";\n" - } return arrayResult -- GitLab