Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ewatch/4b5fde35582f6ff5e5ceb844b799d0fd to your computer and use it in GitHub Desktop.

Select an option

Save ewatch/4b5fde35582f6ff5e5ceb844b799d0fd to your computer and use it in GitHub Desktop.

Revisions

  1. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,7 @@ The rules can be stated as followed:

    - The rules are listed in priority order.
    - _e.g._, **`Passes all tests`** trumps **`Maximizes clarity`**.
    - Rule 2 and 3 often seem to swap priority.
    - Rules 2 and 3 often seem to swap priority.
    - **`Minimizes duplication`** precedes **`Maximizes clarity`** in most versions (including Beck's).
    - Really, rules 2 and 3 feed off of each other like a dynamo.
    - When writing code, **`Minimizes duplication`** seems to trump **`Maximizes clarity`**,
  2. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 10 additions and 9 deletions.
    19 changes: 10 additions & 9 deletions four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -6,20 +6,21 @@

    The rules can be stated as followed:

    1. `Passes all tests`
    2. `Maximizes clarity`
    3. `Minimizes duplication`
    4. `Has fewer elements`
    1. **`Passes all tests`**
    2. **`Maximizes clarity`**
    3. **`Minimizes duplication`**
    4. **`Has fewer elements`**

    - The rules are listed in priority order. _E.g._, `Passes all tests` trumps `Maximizes clarity`.
    - The rules are listed in priority order.
    - _e.g._, **`Passes all tests`** trumps **`Maximizes clarity`**.
    - Rule 2 and 3 often seem to swap priority.
    - `Minimizes duplication` precedes `Maximizes clarity` in most versions (including Beck's).
    - **`Minimizes duplication`** precedes **`Maximizes clarity`** in most versions (including Beck's).
    - Really, rules 2 and 3 feed off of each other like a dynamo.
    - When writing code, `Minimizes duplication` seems to trump `Maximizes clarity`,
    - When writing code, **`Minimizes duplication`** seems to trump **`Maximizes clarity`**,
    but when reading code, the reverse seems to be true.
    - On average, a developer will spend 10 times longer reading and understanding code
    than writing it. As a result, I personally place `Maximizes clarity` above
    `Minimizes duplication`, but it is really context-specific and developer-specific.
    than writing it. As a result, I personally place **`Maximizes clarity`** above
    **`Minimizes duplication`**, but it depends on what is being done and by whom.
    - Rule 0: Kent Beck says:
    > In the rare case they are in conflict (in tests are the only examples I can recall),
    > _empathy wins over some strictly technical metric_."
  3. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 11 additions and 9 deletions.
    20 changes: 11 additions & 9 deletions four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -6,27 +6,28 @@

    The rules can be stated as followed:

    1. Passes all tests
    2. Maximizes clarity
    3. Minimizes duplication
    4. Has fewer elements
    1. `Passes all tests`
    2. `Maximizes clarity`
    3. `Minimizes duplication`
    4. `Has fewer elements`

    - The rules are listed in priority order. _E.g._, "Passes all tests" trumps "Maximizes clarity".
    - The rules are listed in priority order. _E.g._, `Passes all tests` trumps `Maximizes clarity`.
    - Rule 2 and 3 often seem to swap priority.
    - "Minimizes duplication" precedes "Maximizes clarity" in most versions.
    - `Minimizes duplication` precedes `Maximizes clarity` in most versions (including Beck's).
    - Really, rules 2 and 3 feed off of each other like a dynamo.
    - When writing code, "Minimizes duplication" seems to trump "Maximizes clarity",
    - When writing code, `Minimizes duplication` seems to trump `Maximizes clarity`,
    but when reading code, the reverse seems to be true.
    - On average, a developer will spend 10 times longer reading and understanding code
    than writing it. As a result, I personally place "Maximizes clarity" above
    "Minimizes duplication", but it is really context-specific.
    than writing it. As a result, I personally place `Maximizes clarity` above
    `Minimizes duplication`, but it is really context-specific and developer-specific.
    - Rule 0: Kent Beck says:
    > In the rare case they are in conflict (in tests are the only examples I can recall),
    > _empathy wins over some strictly technical metric_."
    Further reading:

    - [BeckDesignRules][fowler]
    - [Xp Simplicity Rules][xp-simplicity-rules]
    - [Essential XP: Emergent Design][jeffries]
    - [The Four Elements of Simple Design][rainsberger]
    - [Understanding the Four Rules of Simple Design][haines]
    @@ -35,6 +36,7 @@ Further reading:
    [extreme-programming]: https://en.wikipedia.org/wiki/Extreme_programming
    [white-book]: https://www.amazon.com/gp/product/0201616416
    [fowler]: https://www.martinfowler.com/bliki/BeckDesignRules.html
    [xp-simplicity-rules]: http://wiki.c2.com/?XpSimplicityRules
    [jeffries]: http://xprogramming.com/classics/expemergentdesign/
    [rainsberger]: http://blog.jbrains.ca/permalink/the-four-elements-of-simple-design
    [haines]: https://leanpub.com/4rulesofsimpledesign
  4. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -21,8 +21,8 @@ The rules can be stated as followed:
    than writing it. As a result, I personally place "Maximizes clarity" above
    "Minimizes duplication", but it is really context-specific.
    - Rule 0: Kent Beck says:
    > In the rare case they are in conflict (in tests are the only examples I can recall),
    > _empathy wins over some strictly technical metric_."
    > In the rare case they are in conflict (in tests are the only examples I can recall),
    > _empathy wins over some strictly technical metric_."
    Further reading:

  5. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    ## The Four Elements of Simple Design

    - Introduced by Kent Beck in the 1990s.
    - Introduced by [Kent Beck][beck] in the 1990s.
    - Part of his software development methodology [Extreme Programming][extreme-programming].
    - His exact wording appears in the [White Book][white-book].

    @@ -31,6 +31,7 @@ Further reading:
    - [The Four Elements of Simple Design][rainsberger]
    - [Understanding the Four Rules of Simple Design][haines]

    [beck]: https://en.wikipedia.org/wiki/Kent_Beck
    [extreme-programming]: https://en.wikipedia.org/wiki/Extreme_programming
    [white-book]: https://www.amazon.com/gp/product/0201616416
    [fowler]: https://www.martinfowler.com/bliki/BeckDesignRules.html
  6. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -26,10 +26,10 @@ The rules can be stated as followed:
    Further reading:

    [BeckDesignRules][fowler]
    [Essential XP: Emergent Design][jeffries]
    [The Four Elements of Simple Design][rainsberger]
    [Understanding the Four Rules of Simple Design][haines]
    - [BeckDesignRules][fowler]
    - [Essential XP: Emergent Design][jeffries]
    - [The Four Elements of Simple Design][rainsberger]
    - [Understanding the Four Rules of Simple Design][haines]

    [extreme-programming]: https://en.wikipedia.org/wiki/Extreme_programming
    [white-book]: https://www.amazon.com/gp/product/0201616416
  7. @O-I O-I revised this gist Nov 2, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,5 @@
    ## The Four Elements of Simple Design

    - Introduced by Kent Beck in the 1990s.
    - Part of his software development methodology [Extreme Programming][extreme-programming].
    - His exact wording appears in the [White Book][white-book].
  8. @O-I O-I created this gist Nov 2, 2017.
    37 changes: 37 additions & 0 deletions four_elements_simple_design.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,37 @@
    - Introduced by Kent Beck in the 1990s.
    - Part of his software development methodology [Extreme Programming][extreme-programming].
    - His exact wording appears in the [White Book][white-book].

    The rules can be stated as followed:

    1. Passes all tests
    2. Maximizes clarity
    3. Minimizes duplication
    4. Has fewer elements

    - The rules are listed in priority order. _E.g._, "Passes all tests" trumps "Maximizes clarity".
    - Rule 2 and 3 often seem to swap priority.
    - "Minimizes duplication" precedes "Maximizes clarity" in most versions.
    - Really, rules 2 and 3 feed off of each other like a dynamo.
    - When writing code, "Minimizes duplication" seems to trump "Maximizes clarity",
    but when reading code, the reverse seems to be true.
    - On average, a developer will spend 10 times longer reading and understanding code
    than writing it. As a result, I personally place "Maximizes clarity" above
    "Minimizes duplication", but it is really context-specific.
    - Rule 0: Kent Beck says:
    > In the rare case they are in conflict (in tests are the only examples I can recall),
    > _empathy wins over some strictly technical metric_."
    Further reading:

    [BeckDesignRules][fowler]
    [Essential XP: Emergent Design][jeffries]
    [The Four Elements of Simple Design][rainsberger]
    [Understanding the Four Rules of Simple Design][haines]

    [extreme-programming]: https://en.wikipedia.org/wiki/Extreme_programming
    [white-book]: https://www.amazon.com/gp/product/0201616416
    [fowler]: https://www.martinfowler.com/bliki/BeckDesignRules.html
    [jeffries]: http://xprogramming.com/classics/expemergentdesign/
    [rainsberger]: http://blog.jbrains.ca/permalink/the-four-elements-of-simple-design
    [haines]: https://leanpub.com/4rulesofsimpledesign