Luminous Code is a collection of projects, namespaces, classes, methods, and extention methods, that I wrote to keep the code that I need to write in my various projects as DRY as possible! It’s driven by my own needs as a developer, but I’m more than happy to share it with anyone who might find it useful, and to accept suggestions or bug reports.
I don’t understand why anyone would want to write the same old low-level code to accomplish a particular task each and every time they need it? And it’s probably a lot more common a practice than you might think! Especially with junior developers. Well I don’t know about you, but I hate maintaining code like that.
Whenever I find myself writing the same code again, I first extract it into a new class or a new method (as most experienced developers do). Then as soon as I can I’ll transfer it to the appropriate Luminous Code namespace so that I can reuse it myself, and also release it for others to benefit from as well.
Also, if it’s taken me some time to figure out how to do something new, I add it into the framework too. That way I’m not constantly reinventing the wheel, so to speak. I figure it out once, not every time I need the same task done.
It isn’t necessarily all that easy to understand what lines of low-level code are actually trying to accomplish when you come back to the code days, weeks, or even months later! What I’m referring to is the intent of the code.
The intent of any code that you write should be clear and obvious to anyone who is using or maintaining your code (even if it’s you). One of the main reasons that I wrote the Luminous Code was so I could use code that has CAOI (clear and obvious intent).
There’s probably no point googling it, I’m pretty sure it was me that coined the accronym, lol.
Luminous Code helps you to:
If you happen to find Luminous Code useful and would like to support future development, perhaps you could shout me a coke (as I don’t actually drink coffee or beer, lol).
Check out the contribution guidelines if you want to contribute to this project. I’d love to see others in the community adding code that meets to project’s goals.
For cloning and building this project yourself, make sure to install the Extensibility Tools 2015 extension for Visual Studio which enables some features used by this project.