2 ms·
A much better approach is outside-in. Start with the protocol a client (command line/browser/desktop) will use to communicate with your system and then implemen
by deterministic 3y ago
A much better approach is outside-in. Start with the protocol a client (command line/browser/desktop) will use to communicate with your system and then implement each req/rpy in logical usage order.
And use auto tests to verify functionality. Having a test program running a full end-to-end req/rpy session checking all functionality makes the bug count approach zero.
I am maintaining large scale mission critical C++ applications using this approach. With zero production bugs for 5+ years.
And yes of course split the implementation into reusable parts as much possible. That is basic Software/System Engineering.
Claims that it can't be done in other languages than Lisp is absolutely BS. Linux (for example) is mostly a huge collection of reusable components written in C.
It works for any language/environment and is therefore a more fundamental technique.