I'm a Java backend developer.
I mainly use Spring, AWS and love all open source.β€οΈ
heowc / heo Goto Github PK
View Code? Open in Web Editor NEWTools to analyze package-level structure and visualize it
License: Apache License 2.0
Tools to analyze package-level structure and visualize it
License: Apache License 2.0
Users may want to view visualized reports in different formats
If the Gradle plugin is introduced, it will be more useful. (Even in a CI environment?)
ex)
plugins {
id "heo"
}
heo {
package = "com.heowc" // What if we take the `group` as the default?
destination = "${buildDir}/reports/heo/index.png" // It would be nice if you could configure a new directory under `reports`.
}
The applications we build can be simple, but they are usually complex. So visualizing all the modules may not be very helpful. It may be helpful to see only a part of it.
Users may want to write relative paths more simply and easily rather than absolute paths
$ java -jar heo-cli-0.0.2.jar -d /Users/heowc/Projects/heo -p dev.heowc.heo
# $ java -jar heo-cli-0.0.2.jar -d ./heo -p dev.heowc.heo # <--
It has a structure other than java
.
If it can support languages ββsuch as javascript
, php
, etc., more users will be able to use it.
Sometimes users may want to see detailed logs for the heoReport
task.
We can take the following strategies:
One of the features of heo
is that it shows the points where a cycle occurs between modules. If gradle didn't just show this but failed the task, it would be recognized more quickly.
For reference, checkstyle
has a verification task and a report task, each of which has its own task.
Currently, heo analyzes the structure of the package structure for a single Java project.
As the project size grows,
there are many cases where it goes from a single module to multiple modules and even multiple package structures.
It would be good to provide it so that it can be used for such projects as well.
product-service
γ΄ com.example.product
order-service
γ΄ com.example.order
In the multi-module above, you may want to analyze the following packages between the product and order modules.
product-service
γ΄ com.example.product
product-model
γ΄ com.example.productmodel
In the multi-module above, you may want to analyze the following packages between the service and model modules. - subclasses of com.example.product and com.example.productmodel (assuming there are multiple packages)
Currently we are providing cli tools utilizing Java. This somewhat increases the barrier to entry when using the tool.
We would like to provide binary files using native-image.
However, there are still unresolved issues to provide this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.