GuestNo new alerts

The Great Refactor

- General335
 
Seemingly neverending like most project's refactors, but an important step in improving code quality, and accelerating development for both me and plugin devs alike.

The great refactor has many parts, but the three main ones right now are better aligning ourselves with Golang's best standards, better encapsulating functionality, and... I forgot. Haha.

Oh, I know. Abstracting away database engine specific code. Yeah.

While I don't agree with all of Go's best standards like camelCasing everything, it is important that we align ourselves with the community rather than working against it, and to be honest, I'm getting used to the whole camelCase thing.

I'm not giving up my tabs though, no way. No matter what you tell me.
On a serious note though, it doesn't really matter whether we use tabs or spaces, but I'd like to keep it all consistent, so tabs it is.

Encapsulation is important, as it allows current and future developers to figure out where everything is and to make a change in one place to get the results they desire rather than changing a billion lines across an all-encompassing code-base.

It has certainly helped me be a lot tidier and productive with Gosora in contrast to the early days back in January.

As for the third item, by abstracting away database specific code, we can make Gosora compatible with a vast variety of database from MySQL to MSSQL to PostgreSQL, each with their own little quirks.

All in all, I don't expect refactoring to ever stop, given the constant need to evolve, but the current trend of huge rewrites will likely come to a close soon.