3 ms·
Are there more resources about code architecture in general? I am slightly frustrated since I can only find web service architecture resources when searching f
by call-me-al 4y ago
Are there more resources about code architecture in general?
I am slightly frustrated since I can only find web service architecture resources when searching for software architecture on Google...
- machiaweliczny 4y agoI don't think there's much as project architecture is domain specific. There's some tricks that's good to know that mostly emerge from language limitations so for novice it's good to learn some language specific patterns: * Ruby [0] * Node.js [1] Then from more stable software except DBs is OS, Compilers and Games: * Games [2] * Interpeters [3] * Computation: [4] * OS: don't really know. Generally if you understand computation, computers/language and your domain you will come with good architecture. I haven't found any shortcuts yet. Fast iteration wins, so optimise mostly for that and ability to swap stuff that doesn't work, so contain crap as much as you can. Pure functions are by definition swappable and easy to test so abuse that. Use domain commands to mutate stuff and not updateEntity(X) and you will be good. Use turnOnEngine(car) instead of updateCar({ engine: true }). Also learn to use Facade[5] pattern -> this one makes gluing things much safer against abuse (limits API surface). It's also good to know about all the things one can optimise for to take decisions more consciously. So like maintainability, reusability, iteration speed, speed of delivery, observability, security etc. Generally search for "How to design programs book/course" for more abstract stuff and "$MyLang patters/architecture book" or check blogs of some high profile software or their devs [0] https://www.goodreads.com/en/book/show/13507787-practical-object-oriented-design-in-ruby https://www.goodreads.com/en/book/show/13507787-practical-ob... [1] https://www.goodreads.com/en/book/show/24514193-node-js-design-patterns https://www.goodreads.com/en/book/show/24514193-node-js-desi... [2] https://gameprogrammingpatterns.com/contents.html https://gameprogrammingpatterns.com/contents.html [3] https://craftinginterpreters.com/ https://craftinginterpreters.com/ [4] https://computationbook.com/ https://computationbook.com/ [5] https://refactoring.guru/design-patterns/facade https://refactoring.guru/design-patterns/facade
- deleted 4y ago[deleted]