DEV Community

ElshadHu
ElshadHu

Posted on

My Open Source Journey Begins with GitHub & Magic Enum

Introduction

Hi, my name is Elshad. I am a Computer Programming student at Seneca Polytechnic. I am passionate about C++ and backend development, also i am willing to contribute to Open Source Projects.

Why I Chose This Course

One of the main reasons I chose this course is because I really enjoy uncertainty and discovery. For me, the best way to learn is by researching, experimenting, and implementing solutions on my own rather than simply following step-by-step instructions which i do not feel productive. I find it more rewarding to explore, make mistakes, and learn from my mistakes.
I also enjoy reading and analyzing other developers’ code, because they have already got through this path and solved real problems. By studying their approaches, I can learn practical techniques and gain insights that go far beyond textbooks and simple implementations. That’s why this course, with its focus on open source and self-driven learning, feels like the perfect option for me.

My Project Goals

When it comes to projects, I would like to focus on backend-driven development. My goal is to cover the core concepts of backend systems such as APIs, databases and authentication.
I also want to challenge myself by working with more than one programming language. Depending on the project requirements and specifications, I will choose the language that is best for the problem, whether that’s C++, Node.js, Python, or another tool. I believe this flexibility will make me a stronger and more adaptable developer.

Why I Chose Magic Enum

https://github.com/Neargye/magic_enum
I chose this project because, while experimenting with enums in my course management project, I realized that I was writing a lot of boilerplate code. I even tried applying generic programming by using the library to avoid meaningless pointers and experimented with templates, but in the end, this approach made the code more complicated than I had thought.
In C++, enums are not very flexible by default, it’s not possible to easily iterate through them or convert them to and from strings. This often results in repetitive code and makes programs more prone to errors.
With the help of modern C++17 features, however, libraries like magic_enum can make our lives much easier by providing static reflection and avoiding the need for manual stuff. Enums are also a great tool for APIs instead of introducing unnecessary layers of inheritance and polymorphism which could lead to confusion, we can use enums to keep the design simple and clear.

Top comments (0)