Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Command-line interface (CLI) for CodART #34

Open
m-zakeri opened this issue Mar 21, 2021 · 0 comments
Open

Command-line interface (CLI) for CodART #34

m-zakeri opened this issue Mar 21, 2021 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@m-zakeri
Copy link
Owner

The problem
There is no unified interface for the CodART project.
As the CodART project is developed and the number of features is increased, it is vital to have an interface to interact with this framework especially for ad-hoc use and testing.
Currently, the project contains several main files which are confusing. None of them implement a standard interface.

Describe the solution you'd like
A primary solution is to implement a command-line interface (CLI).
The CLI can be added to the main module in the projects' root. For example, to apply a specific refactoring to a given Java project the following command would be nice:
codart --refactoring "encapsulate_field" --project "./P1" --long_class_name "A" --feild_name "f" --refactored_project "./P2"

Alternatives solution
There are other alternative solutions that are more suitable for future development:

  • A graphical user interface (GUI)
  • Web user interface or rich internet application (RIA)
  • Python APIs

Additional context
The important problem to consider is that the CLI must be as standard and comprehensive as possible. It could be changeable and understandable. For example, have comprehensive help (-h switch, etc.) and documentation.
Table 1 of the project documentation defines all required arguments for each refactoring which should be considered when developing the CLI.

@m-zakeri m-zakeri added the enhancement New feature or request label Mar 21, 2021
@m-zakeri m-zakeri assigned m-zakeri and seyyedaliayati and unassigned m-zakeri Sep 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

2 participants