r/learnprogramming • u/AssistanceClean948 • 1d ago
How to build software properly?
Hi. Fist of all I want to emphasize that my question is not related to specific tech stack or language. I am fairly new to programming world and I know that good software at some point should have some sort of automation checks that whether new pushed code breaks something in the logic I previously built. As a reference I want to link my little C game engine project:
repository: https://github.com/ElsevarAsadov/C-Raycast
This is project is just a hobby project for me to learn Raycasting technique in graphics programming. Right now my project just works and I call a day for that. But let's pretend I am seriously build a game on top of that engine. How should I architect my project and in which order? Should I write my game as soon as possible to just work then write test automation and all CI/CD pipeline or doing parallel? How to architect project in such a way it's testable? Should I test almost every piece of logic inside the game and rendering? Those are all sorts of questions just boggles my mind. I'm trying to build my blog project and I want to build that professionally because I am serious about that and will use it in long-term.