summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Kerr <dwmkerr@gmail.com>2018-10-05 14:19:46 +0800
committerDave Kerr <dwmkerr@gmail.com>2018-10-05 14:19:46 +0800
commit55eae9ada099bcf4a8da3efcfaea0087c4c95b14 (patch)
tree8fdfc218d47f06d8718bee1d788743520be94bf7
parent7a916eab854809dfe772ca908df0e339b0f29a45 (diff)
feat: added postel's law
Added Postel's Law (the Robustness Principle), but also included a note on the security implications.
-rw-r--r--README.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/README.md b/README.md
index 31a4a1e..4324a4a 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,7 @@ Laws, Theories, Patterns and Ideas that all developers should know about!
* [⭐⭐ Conway's Law](#-conways-law)
* [⭐ Hofstadter's Law](#-hofstadters-law)
* [⭐⭐ The Law of Conservation of Complexity (Tesler's Law)](#-the-law-of-conservation-of-complexity-teslers-law)
+ * [⭐⭐ The Robustness Principle (Postel's Law)](#-the-robustness-principle-postels-law)
* [⭐⭐⭐ The Unix Philosophy](#-the-unix-philosophy)
* [⭐The Spotify Model](#the-spotify-model)
@@ -52,6 +53,16 @@ Some complexity in a system is 'inadvertent'. It is a consequence of poor struct
One interesting element to this law is the suggestion that even by simplifying the entire system, the intrinsic complexity is not reduced, it is _moved to the user_, who must behave in a more complex way.
+### ⭐⭐ The Robustness Principle (Postel's Law)
+
+[The Robustness Principle on Wikipedia](https://en.wikipedia.org/wiki/Robustness_principle)
+
+> Be conservative in what you do, be liberal in what you accept from others.
+
+Often applied in server application development, this principle states that what you send to others should be as minimal and conformant as possible, but you should be aim to allow non-conformant input if it can be processed.
+
+The goal of this principle is to build systems which are robust, as they can handle poorly formed input if the intent can still be understood. However, there are potentially security implications of accepting malformed input, particularly if the processing of such input is not well tested.
+
### ⭐⭐⭐ The Unix Philosophy
[The Unix Philosophy on Wikipedia](https://en.wikipedia.org/wiki/Unix_philosophy)