lijunle / Vsxmd

VS XML documentation -> Markdown syntax.
MIT License
215 stars 51 forks source link

This code base could use some SOLID-ifying #97

Open astrohart opened 2 years ago

astrohart commented 2 years ago

Hi,

Great package and great code base, I love working with it. However, as you can see there are some issues filed under this project that has been going undealt with for a while. I tried to dive into the code myself. However, and I don't want to say anything bad, but the code style and semantics could use some polish and be refactored to correspond to the SOLID principles and Clean Code and Robust, fault-tolerant code.

As a potential "issue fixer" ( I am not 100% sure if "maintainer" or "contributor" is the right label for me just yet ), having the code more well-structured would be a godsend, I'd think, to continue to move this software package forward.

I'd like to volunteer to do a fork of this project and a full, end to end refactor to make it SOLID, clean, robust, and fault-tolerant.

The aim is to make a great package, such as this, even better, for an enhanced user experience as well as contributor experience. As in, kind of like, a "one hour dry cleaning" of the code.

lijunle commented 2 years ago

Hello, @astrohart

It will be great that you can help on the tool and improve it. Do you have any plan about the refactoring? Text description or code snippet is OK.

astrohart commented 1 year ago

The effort would span the entire code base, so a code snippet would not be practical. And as for a textual description, I believe I was fairly detailed — and even included links — in the top of the issue.

Brian

On Jun 24, 2022, at 12:37, Junle Li @.***> wrote:

 Hello, @astrohart

It will be great that you can help on the tool and improve it. Do you have any plan about the refactoring? Text description or code snippet is OK.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

astrohart commented 1 year ago

The crux of the plan is basically, make every concrete type implement an interface (except where it’s obviously meaningless) and only use objects through their interfaces and only crate new instances of objects using, say, Factory pattern and such.

On Jun 24, 2022, at 12:37, Junle Li @.***> wrote:

 Hello, @astrohart

It will be great that you can help on the tool and improve it. Do you have any plan about the refactoring? Text description or code snippet is OK.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.