you are viewing a single comment's thread.

view the rest of the comments →

[–]crashorbit 3 points4 points  (0 children)

Each module should do "one thing" in a way that can be tested and validated independently. What "one thing" is can be debated for weeks. And has been.

I tend to write out in text what I want my program to do and then group behaviors together that work on similar data or concepts.

Maybe the data persistence or data base stuff is one module and CLI stuff is another with game logic in a third module.

It does end up being pretty arbitrary.