jckuester / awsweeper

A tool for cleaning your AWS account
Mozilla Public License 2.0
469 stars 45 forks source link

Code structure #38

Closed mousavian closed 4 years ago

mousavian commented 5 years ago

Hey, There are few parts in the code structure that can be improved. For instance, wipe functionality can not be imported and get executed by another project because it's highly coupled to CLI args and printing the output directly to stdout.

By decoupling wiping functionality and keep command/* only to convert cli args to input params to existing functionalities the project can be used in both way, either from cli or by code.

Another thing that I think can be improved is logging. I can see currently the project is using all log, logrus and cli.UI to output messages and logs. This can be unified as well.

Let me know if you agree and need help to improve this. :) Would be happy to help if I can.

Regards

jckuester commented 5 years ago

That's true, the wipe functionality is totally independent from the other parts of the program for finding resources and filtering them. I also think that it would be great to decouple it, but I have currently not much time to do it myself :-) Your help and ideas are very much appreciated.

jckuester commented 4 years ago

Code structure of this project has changed a lot (however, some refactoring is still needed to have the codebase in the shape I want to), so I am closing this issue now.