User Tools

Site Tools


about:describing_principles

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
about:describing_principles [2012-12-06 15:40] – improved wording and removed typos christianabout:describing_principles [2013-09-05 20:28] (current) christian
Line 6: Line 6:
 ===== Variants and Alternative Names ===== ===== Variants and Alternative Names =====
  
-Each principle may have several alternative names. This may be because the same principle has been described several times independently. A principle may also evolve over time, change its name, change its meaning, may be applied to other contexts, etc. So there may be several names referring basically to the same principle. This also means that the alternative names may roughly correspond to certain views on the principle. The views may differ slightly resulting in certain variations of the principle.+Each principle may have several alternative names. This may be because the same principle has been described several times independently. A principle may also evolve over time, change its name, change its meaning, may be applied to other contexts, etc. So there may be several names referring basically to the same principle. This also means that the alternative names may roughly correspond to certain views on the principle. The views may differ slightly resulting in certain variations of the principle. Alternative names are listed in this section and, if necessary, explained. The views may differ slightly resulting in certain variations of the principle.
  
 Alternative names are listed in this section and, if necessary, explained. Variations are also explained and, depending on the difference, may additionally be described on a separate wiki page. Alternative names are listed in this section and, if necessary, explained. Variations are also explained and, depending on the difference, may additionally be described on a separate wiki page.
Line 13: Line 13:
 ===== Context ===== ===== Context =====
  
-Principles apply in certain [[contexts:]]. A context is a basic category for principles like OOD, web development, framework development, user interface design, etc. Is describes during which task the principle can be considered. A principle has at least one context but also may have several contexts.+Principles apply in certain [[contexts:]]. A context is a basic category for principles like OOD, web development, framework development, user interface design, etc. It describes during which task the principle can be considered. A principle has at least one context but also may have several contexts.
  
  
-===== Definition =====+===== Principle Statement =====
  
-The definition section states the principle in one or two sentences. This may be the original wording or a new one.+The principle statement is basically a concise explanation in one or two sentences. This may be the original wording or a new one. The main purpose is to give a memorable "definition" of the principle.
  
  
Line 28: Line 28:
 ===== Rationale ===== ===== Rationale =====
  
-Principles normally are not hard rules but rather heuristics or rules of thumb. So there is no formal proof showing that the principle is correct in each and every situation. Nevertheless there needs to be a reason for the principle, meaning some rationale explaining why it holds. In order to apply the principle, the rationale is applied to the given design problem that is to be solvedIf the rationale holds in this case, the principle may be applied.+Principles normally are not hard rules but rather heuristics or rules of thumb. So there is no formal proof showing that the principle is correct in each and every situation. Nevertheless there needs to be a reason for the principle, meaning some rationale explaining why it is valid. In order to assess whether the principle is applicable to a certain problem, the rationale can be used. If the reasons given in this section apply to the given problem, the principle can be applied. 
 + 
 + 
 +===== Strategies ====== 
 + 
 +The main idea behind principles is to assess solutions and not to construct solutionsNevertheless applying principles may lead to the conclusion that a solution is not as good as it could be. This section lists strategies that can be used to transform a given solution in a way that the result better adheres to the principle. So the principle language provides guidance beyond the pure assessment of design solutions. A generative approach for constructing solutions is nevertheless necessary. 
 + 
 + 
 +===== Caveats ===== 
 + 
 +This section lists warnings on how //not// to use this principle. Disadvantages are partly treated below in the section "contrary principles". Nevertheless there are sometimes helpful remarks on pitfalls and wrong usages that cannot be described using contrary principles or that are otherwise noteworthy. This section discusses these issues.
  
  
Line 40: Line 50:
 Apart from the rationale there may be different evidence that the principle holds: Apart from the rationale there may be different evidence that the principle holds:
  
-  * [[wiki:Proposed]]: If the principle is neither //examined//, not //accepted// it is //proposed//. This is the default. +  * [[wiki:Proposed]]: If the principle is neither //examined//, not //accepted// it is marked //proposed//. This is the default. 
-  * [[wiki:Examined]]: A principle is marked examined if and only if it has been subject to scientific research showing evidence beyond constructed examples. So an examined principle may be considered state of the art. This state is called "examinedand not proven” as the examination may have limitations and the principle may still be //questioned//.+  * [[wiki:Examined]]: A principle is marked //examined// if and only if it has been subject to scientific research showing evidence beyond constructed examples. Note that this state is called "examinedand not "provenas the examination may have limitations and the principle may still be //questioned//. If the scientific examination supports the principle, it may be considered state of the art.
   * [[wiki:Accepted]]:  A principle is marked //accepted// if and only if it is widely used in practice. Acceptance is assumed if a publication (a book, etc.) well-known among practitioners describes it. So an accepted principle can be regarded state of the practice.    * [[wiki:Accepted]]:  A principle is marked //accepted// if and only if it is widely used in practice. Acceptance is assumed if a publication (a book, etc.) well-known among practitioners describes it. So an accepted principle can be regarded state of the practice. 
   * A principle may be both //examined// and //accepted//.   * A principle may be both //examined// and //accepted//.
-  * [[wiki:Questioned]]: Independent of whether a principle is //proposed//, //examined//, //accepted// or //examined// and //accepted//, a principle may also be //questioned//. This is the case when someone has expressed reasonable arguments against it. It doesn't matter who questioned the principle but there has to be some understandable reason. Furthermore the principle itself needs to be questioned. It is not sufficient that keeping the rule may inevitably also have some negative effects expressed by another principle. This is normal due to the nature of the principle definition used here. A principle is //questioned// if the positive effect it claims is questioned.+  * [[wiki:Questioned]]: Independent of whether a principle is //proposed//, //examined//, //accepted// or //examined// and //accepted//, a principle may also be //questioned//. This is the case when someone has expressed reasonable arguments against it. It doesn't matter who questioned the principle but there has to be some understandable reason. Furthermore the principle itself needs to be questioned. It is not sufficient that keeping the rule may inevitably also have some negative effects expressed by another principle. This is normal due to the nature of the principle definition used here. A principle is //questioned// if there is doubt concerning the positive effect it claims to have.
  
  
 ===== Relations to Other Principles ===== ===== Relations to Other Principles =====
  
-There are certain relationships between principles. This section lists and explains them so the consideration of one principle inevitably leads to other principles that can be considered. +There are certain relationships among principles. This section lists and explains them so the consideration of one principle inevitably leads to other principles that can be considered. An important aspect of this is that the pure purpose of this list of relationships is to give a clear navigation path to the principles that should be considered next. These relationships are fuzzy and sometimes not valid in every respect. But this is not a problem since their purpose is to be practically useful. A purely "academic" analysis of the principles which ignores their practical usage is not intended.
  
 ==== Generalizations ==== ==== Generalizations ====
  
-//generalization// of the principle is another principle that can be applied in a broader context or one that is less demanding. The principle is always a //specialization// of its //generalizations//A principle may have several generalizations, for example when it is a consequence of two other principles.+A generalization of principle is another principle that can be applied in a broader context or one that is less demanding. Generalizations may be considered in addition or instead of the principle. If a principle does not fit well to the problem, a generalization of it may fit better. It may also add further reasons and a broader view for the assessment of possible solutions. 
 + 
 +The principle is always a specialization of its generalizations. There may also be several generalizations, for example when a principle is a consequence of two others.
  
 ==== Specializations ==== ==== Specializations ====
  
-//specialization// is a more concrete principle that either applies in a narrower context, makes more prescriptions, or is some kind of corollary. The principle is always a //generalization// of its //specializations//.+A specialization is a more concrete principle that either applies in a narrower context, makes more prescriptions, or is some kind of corollary. Specializations may be considered in addition or instead of the principle. If a principle does not fit well to the problem, a specialization of it may fit better. It may be easier to apply and more tailored to specific kinds of problems. 
 + 
 +The principle is always a generalization of its specializations and naturally there may be several specializations.
  
 ==== Contrary Principles ==== ==== Contrary Principles ====
  
-Following the principle may have a negative impact on aspects addressed by other principles. These contrary principles are listed here and the consequence is explained. Like there is no guarantee that the principle itself is valid in every case, there is also no guarantee that there is the negative effect concerning the other principles. There is just a high probability that there is this effect. Therefore these principles should also be considered if this one is applied. Typically but not necessarily a principle is contrary to its contrary principles.+Following the principle may have a negative impact on aspects addressed by other principles. These contrary principles are listed here and the consequence is explained. Like there is no guarantee that the principle itself is valid in every case, there is also no guarantee that there is the negative effect concerning the other principles. There is just a high probability that there is this effect. Therefore these principles should also be considered if this one is applied. 
 + 
 +As the relationships are purely for navigational purposes, the "is-contrary-to" relationship is not necessarily symmetric.
  
 ==== Complementary Principles ==== ==== Complementary Principles ====
  
-A principle is always a reduction of the given design problem to a very specific aspect or effect. Other principles have to be considered too in order to have a full picture of the design problem. Sometimes when one principle is considered, another one is very likely to be relevanttoo. Then this is a complementary principle.+A principle is always a reduction of the given design problem to a very specific aspect or effect. Other principles have to be considered too in order to have a full picture of the design problem. Sometimes when one principle is considered, another one is very likely to be relevant too despite not being contraryThis is then a complementary principle. As for the other relations this is just a tendency and a purely navigational relationship. In practice a complementary principle may also be contrary or not applicable. 
 + 
 +Similar to "is-contrary-to", the "is-complementary-to" relationship is not necessarily symmetric.
  
 ==== Principle Collections ==== ==== Principle Collections ====
Line 71: Line 89:
 This section lists all [[glossary:principle collections]] (including [[glossary:principle languages]]) that include the principle. This section lists all [[glossary:principle collections]] (including [[glossary:principle languages]]) that include the principle.
  
-===== Example =====+===== Examples =====
  
-self-contained example explains how the principle distinguishes "good" and "bad" solutions with respect to the aspect the principle is about.+One or more self-contained examples explains how the principle distinguishes "good" and "bad"solutions with respect to the aspect the principle is about or exemplifies certain relationships, strategies, caveats, etc.
  
  
Line 87: Line 105:
 ===== Further Reading ===== ===== Further Reading =====
  
-Apart from the original source which may be already mentioned inthe origin section there may be other articles, discussions and wikis discussing the principle. If they are worth looking into, they are listed here.+Apart from the original source which may be already mentioned in the origin section there may be other articles, discussions and wikis discussing the principle. If they are worth looking into, they are listed here. 
about/describing_principles.1354804807.txt.gz · Last modified: 2013-05-19 22:09 (external edit)