-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathttd-problem-solving.dot
23 lines (21 loc) · 2.1 KB
/
ttd-problem-solving.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
digraph G {
node [shape=box, style=filled, color=lightblue];
"1. Define the Problem" [tooltip="Understand the problem thoroughly and express it in clear, concise terms."]
"2. Analyze the Problem" [tooltip="Break down the problem into smaller, manageable parts. This is often referred to as decomposition."]
"3. Formulate a Plan" [tooltip="Decide on how to tackle each part of the problem. This involves considering what tools, algorithms, or data structures you might use."]
"4. Write a Failing Test" [tooltip="Before you start writing code to solve the problem, write a test that will pass when the problem is solved. This is the 'Red' phase of the Red-Green-Refactor cycle in TDD."]
"5. Implement the Minimum Code to Pass the Test" [tooltip="Write just enough code to make the test pass. This is the 'Green' phase."]
"6. Refactor" [tooltip="Now that your code is working, improve it without changing its behavior. Make it more readable, remove duplication, etc. This is the 'Refactor' phase."]
"7. Review and Reflect" [tooltip="Take some time to review your code. Could it be more efficient? More readable? Is there anything you could learn from this problem that could be applied to future problems?"]
"8. Document the Solution" [tooltip="Good documentation helps others understand your code and can also be useful for future you. Document your process, the decisions you made, any issues you encountered, and how you solved them."]
"9. Iterate" [tooltip="If necessary, return to step 4 with new or remaining problems. This process is often iterative, with each cycle improving upon the previous solution."]
"1. Define the Problem" -> "2. Analyze the Problem"
"2. Analyze the Problem" -> "3. Formulate a Plan"
"3. Formulate a Plan" -> "4. Write a Failing Test"
"4. Write a Failing Test" -> "5. Implement the Minimum Code to Pass the Test"
"5. Implement the Minimum Code to Pass the Test" -> "6. Refactor"
"6. Refactor" -> "7. Review and Reflect"
"7. Review and Reflect" -> "8. Document the Solution"
"8. Document the Solution" -> "9. Iterate"
"9. Iterate" -> "4. Write a Failing Test" [label="If necessary"]
}