4 ms·
also: architecture implies that you had a variety of solutions to choose from, and that you made a choice from one of the possible solutions and are able to rea
by platz 13y ago
also: architecture implies that you had a variety of solutions to choose from, and that you made a choice from one of the possible solutions and are able to reason and talk about that choice, the pros and cons, etc.
If you can't list the pros and cons relative to the other choices, I don't really consider that architecture - that's just doing what's familiar.
- tormeh 13y agoWhat if it's the first time you do something? You just figured something out and thought it looked OK. Isn't that architecture?
- ixmatus 13y agoNot quite, I would call that "solution".
- tormeh 13y agoAlso when you have code block, data flow and control flow diagrams? How well thought out does something have to be to be architecture?
- ixmatus 13y agoAn Architecture, to me, is an established and idiomatic process of applying solutions to produce a novel output. In the case of a computer program the "architecture" should be extremely well-thought out, idiomatic, and using established practices to produce a program that is easy to maintain, understand, and test. I don't believe you need diagrams but in the case of Haskell, the types (if you design type-first) serve as one piece of the blueprint that is to become your program, your cabal file, directory structure, documentation (both user docs and API docs), and tests are all part of that blueprint.