Skip to content
IllidanS4 edited this page Nov 28, 2017 · 2 revisions

SharpUtils started as a kind of storage place for my pieces of code, various ideas or tricks that had I thought of, but after 5 years since its development started, many parts of the project are now interconnected and dependant on each other.

The project was created in December 2012 (based on the timestamp headers in the oldest parts of the code), but it wasn't uploaded on GitHub (nor using Git) until two years later, when I decided it is sufficiently large and usable to put on the web (and to be able to reference certain parts of the code on StackOverflow).

As the project is intended to be a multi-purpose library, its development is continuous and probably will never be finished. If I think of an interesting idea or concept suitable for this library, I put it here instead of creating new projects. It makes it easier to use directly the code in SharpUtils. This is why the development is kind of random, with the attention switching between various parts of the library, for longer or shorter time spans, sometimes inactive for weeks. There is no overall focus, no single goal to achieve. I try to invent new problems to solve, but sometimes I also try to solve existing problems my own way.

Because of this kind of development (and also my laziness and initial unfamiliarity with Git) the earliest commits are labeled as Revisions. I focused on a part of the code, then switched to another, making small changes and fixes, and when the changes piled up, I released a new Revision. It went this way until Revision #21 in March 2016, then I added documentation comments for various classed and methods in the library, and switched to a more localized approach, releasing smaller commits for coherent parts of code, sometimes even comitting parts of code written at a later time earlier than parts of code written before them. It has been this way ever since.

Because of the age of the projects, some parts of the code may be using outdated technologies or even incorrect concepts and assumptions. I addressed this issue partly in commit e254081 which removed useless parts of the code, but still some "wrong" piece of code may pop up sometimes. Nowadays, I still drive faster than the limit as I used to, but I have got seatbelts now.

This also explains why there is no "release" or "development" branch in this project. When I find some part of the code sufficiently working and tested, I commit it. Because of this, the project also has no versions, because it would require me to version every individual piece of this system. This of course means that there may be hidden bugs (and they indeed were) or various oversights hiding in the code, so I give no warranty on its complete functionality.

The code in this project is intended to be copied over as snippets, using various parts that are needed and removing the unnecessary ones. In the future, I would like to separate this project into multiple independent versioned units, possibly upload it to NuGet, but I am still yet to resolve the way the project would be divided.

Clone this wiki locally