Skip to content

Instantly share code, notes, and snippets.

@yakey2008
Forked from vinitkumar/architecture.md
Created May 4, 2014 05:23
Show Gist options
  • Save yakey2008/1a2cfd3c0465207f1b7b to your computer and use it in GitHub Desktop.
Save yakey2008/1a2cfd3c0465207f1b7b to your computer and use it in GitHub Desktop.

Revisions

  1. Vinit Kumar revised this gist May 4, 2014. 1 changed file with 4 additions and 3 deletions.
    7 changes: 4 additions & 3 deletions languages.md
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,9 @@
    # Languages to Learn
    - [x] CoffeeScript
    - [x] Jade
    - [x] less
    - [x] Golang
    - [x] Dart
    - [x] Core Python
    - [x] JavaScript
    - [ ] C
    - [ ] Lisp

    ## Note: This is my personal languages checklist, Feel free to replace it with your languages of choice.
  2. Vinit Kumar revised this gist May 3, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion languages.md
    Original file line number Diff line number Diff line change
    @@ -3,6 +3,6 @@
    - [x] Jade
    - [x] less
    - [x] Core Python
    - [ ] JavaScript
    - [x] JavaScript
    - [ ] C
    - [ ] Lisp
  3. Vinit Kumar revised this gist May 3, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion languages.md
    Original file line number Diff line number Diff line change
    @@ -2,7 +2,7 @@
    - [x] CoffeeScript
    - [x] Jade
    - [x] less
    - [ ] Core Python
    - [x] Core Python
    - [ ] JavaScript
    - [ ] C
    - [ ] Lisp
  4. Vinit Kumar revised this gist May 3, 2014. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions languages.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,4 @@
    # Languages to Learn
    - [x] CoffeeScript
    - [x] Jade
    - [x] less
  5. Vinit revised this gist May 1, 2014. 2 changed files with 6 additions and 7 deletions.
    12 changes: 6 additions & 6 deletions architecture.md
    Original file line number Diff line number Diff line change
    @@ -1,8 +1,8 @@
    # Architectural Questions

    Are responsibilities well defined?
    Are the collaborations well defined?
    Is coupling minimized?
    Can you identify potential duplication?
    Are interface definitions and constraints acceptable?
    Can modules access needed data—when needed?
    - [ ] Are responsibilities well defined?
    - [ ] Are the collaborations well defined?
    - [ ] Is coupling minimized?
    - [ ] Can you identify potential duplication?
    - [ ] Are interface definitions and constraints acceptable?
    - [ ] Can modules access needed data—when needed?
    1 change: 0 additions & 1 deletion delibrateprogramming.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@

    # How to Program Deliberately

    - [ ] Stay aware of what you're doing.
  6. Vinit created this gist May 1, 2014.
    8 changes: 8 additions & 0 deletions architecture.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    # Architectural Questions

    Are responsibilities well defined?
    Are the collaborations well defined?
    Is coupling minimized?
    Can you identify potential duplication?
    Are interface definitions and constraints acceptable?
    Can modules access needed data—when needed?
    7 changes: 7 additions & 0 deletions debugging.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    # The debugging checklists

    - [ ] Is the problem being reported a direct result of the underlying bug, or merely a symptom?
    - [ ] Is the bug really in the compiler? Is it in the OS? Or is it in your code?
    - [ ] If you explained this problem in detail to a coworker, what would you say?
    - [ ] If the suspect code passes its unit tests, are the tests complete enough? What happens if you run the unit test with this data?
    - [ ] Do the conditions that caused this bug exist anywhere else in the system?
    11 changes: 11 additions & 0 deletions delibrateprogramming.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@

    # How to Program Deliberately

    - [ ] Stay aware of what you're doing.
    - [ ] Don't code blindfolded.
    - [ ] Proceed from a plan.
    - [ ] Rely only on reliable things.
    - [ ] Document your assumptions.
    - [ ] Test assumptions as well as code.
    - [ ] Prioritize your effort.
    - [ ] Don't be a slave to history.
    9 changes: 9 additions & 0 deletions guradianknot.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    # Cutting the Gordian Knot

    - [ ] When solving impossible problems, ask yourself:
    - [ ] Is there an easier way?
    - [ ] Am I solving the right problem?
    - [ ] Why is this a problem?
    - [ ] What makes it hard?
    - [ ] Do I have to do it this way?
    - [ ] Does it have to be done at all?
    7 changes: 7 additions & 0 deletions languages.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    - [x] CoffeeScript
    - [x] Jade
    - [x] less
    - [ ] Core Python
    - [ ] JavaScript
    - [ ] C
    - [ ] Lisp
    7 changes: 7 additions & 0 deletions law of demeter.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    # Law of Demeter for Functions

    - [ ] An object's method should call only methods belonging to:
    Itself
    - [ ] Any parameters passed in
    - [ ] Objects it creates
    - [ ] Component objects
    6 changes: 6 additions & 0 deletions orthogonal.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    # How to maintain orthogonality

    - [ ] Design independent, well defined components
    - [ ] Keep your code decoupled
    - [ ] Avoid global data
    - [ ] Refactor similar functions
    8 changes: 8 additions & 0 deletions prototype.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    # Things to prototype

    - [ ] Architecture
    - [ ] New functionality in an existing system
    - [ ] Structure or contents of external data
    - [ ] Third-party tools or components
    - [ ] Performance issues
    - [ ] User interface design
    9 changes: 9 additions & 0 deletions testing.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,9 @@
    # Aspects of Testing

    - [ ] Unit testing
    - [ ] Integration testing
    - [ ] Validation and verification
    - [ ] Resource exhaustion, errors, and recovery
    - [ ] Performance testing
    - [ ] Usability testing
    - [ ] Testing the tests themselves
    7 changes: 7 additions & 0 deletions whentorefactor.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,7 @@
    # When to Refactor ?

    - [ ] You discover a violation of the DRY principle.
    - [ ] You find things that could be more orthogonal.
    - [ ] Your knowledge improves.
    - [ ] The requirements evolve.
    - [ ] You need to improve performance.
    8 changes: 8 additions & 0 deletions wisdom.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,8 @@
    # The Wisdom Acrostic ( Customer specific)

    - [ ] Why do you want to learn them?
    - [ ] What is their interest in what you have got to say?
    - [ ] How sophisticated are they?
    - [ ] How much details do they want?
    - [ ] Whom do you want to own the information?
    - [ ] How can you motivate them to listen to you?