1934
Comment: more
|
← Revision 20 as of 2021-11-25 16:19:00 ⇥
80
redirect to readthedocs
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Architectural Guide = In this guide you will find some expansion and clarification on the architectural values I presented in the [[https://docs.google.com/a/canonical.com/present/view?id=dgpdcfn9_4fd46fgcz&revision=_latest&start=0&theme=blank&authkey=CJWpj5EN&cwj=true|Launchpad Architectural Vision 2010]] All the code we write will meet these values to a greater or lesser degree. Where you can, please make choices that make you code more strongly meet these values. Some existing code does not meet them well; this is simply an opportunity to get big improvements - by increasing e.g. the transparency of existing code, operational issues and debugging headaches can be reduced without a great deal of work. This guide is intended as a living resource : all Launchpad developers, and other interested parties, are welcome to join in and improve it. <<TableOfContents>> = Goals = The goal of the recommendations and suggestions in this guide are to help us reach a number of big picture goals: We want Launchpad to be: * Blazingly fast * Always available * Change safely * Simple to make, manage and use * Flexible (See the presentation for more details). However its hard when making any particular design choice to be confident that it drives us towards these goals : they are quite specific, and not directly related to code structure or quality. = Values = There are a number things that are more closely related to code, which do help drive us towards our goals. These are values I (RobertCollins) hold dear, and which the more our code meets these values, the easier it will be to meet our goals. The values are: * Transparency * Loose coupling * Highly cohesive * Testable * Predictable = Transparency = = Loose coupling = = Highly cohesive = ; focused components = Testable = = Predictable = ; in isolation, load tests, broken-backend tests |
#refresh 0 https://launchpad.readthedocs.io/en/latest/guides/architecture.html |