Commit d22e047f authored by Alexander Hirsch's avatar Alexander Hirsch
Browse files

Techiques: Slight restructuring

parent 0a63cdff
...@@ -55,8 +55,8 @@ ...@@ -55,8 +55,8 @@
## Solution Specification ## Solution Specification
- Document, fully describing the solution - Document, fully describing the solution
- May contain lots of details
- Needs to communicate the big picture - Needs to communicate the big picture
- May contain lots of details
- Consider it a guide for implementing - Consider it a guide for implementing
## Managing Time ## Managing Time
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
- Do we need special equipment? - Do we need special equipment?
- Who will work on this? - Who will work on this?
- *Maybe* add time estimates to tasks - *Maybe* add time estimates to tasks
- Avoid unless you really have to
## Gantt Chart ## Gantt Chart
...@@ -83,10 +84,6 @@ Core idea behind *agile* software development. ...@@ -83,10 +84,6 @@ Core idea behind *agile* software development.
--- ---
Stay away from *scrum* and alike, it's probably a big scam.
---
- Update problem description - Update problem description
- Make changes to your solution specification - Make changes to your solution specification
- Update your management plan accordingly - Update your management plan accordingly
...@@ -94,6 +91,10 @@ Stay away from *scrum* and alike, it's probably a big scam. ...@@ -94,6 +91,10 @@ Stay away from *scrum* and alike, it's probably a big scam.
This commonly decides between success and failure. This commonly decides between success and failure.
---
Stay away from *scrum* and alike, it's probably a big scam.
# Software Architecture # Software Architecture
## Modules ## Modules
...@@ -107,7 +108,7 @@ This commonly decides between success and failure. ...@@ -107,7 +108,7 @@ This commonly decides between success and failure.
## Interfaces ## Interfaces
- Multiple components need to work together - Multiple modules need to work together
- Smaller interfaces provide more flexibility - Smaller interfaces provide more flexibility
- *Loose coupling* - *Loose coupling*
- Need to be clearly defined - Need to be clearly defined
...@@ -115,7 +116,7 @@ This commonly decides between success and failure. ...@@ -115,7 +116,7 @@ This commonly decides between success and failure.
## Abstractions ## Abstractions
If things get to complicated, adding another layer may help. If things get too complicated, adding another layer may help.
--- ---
...@@ -274,7 +275,9 @@ Use additional functions (or macros) if things get too complex. ...@@ -274,7 +275,9 @@ Use additional functions (or macros) if things get too complex.
void foo(void) void foo(void)
{ {
if (first()) { if (first()) {
// …
if (second()) { if (second()) {
// …
if (third()) { if (third()) {
// … // …
} }
...@@ -293,9 +296,13 @@ void foo(void) ...@@ -293,9 +296,13 @@ void foo(void)
if (!first()) if (!first())
return; return;
// …
if (!second()) if (!second())
return; return;
// …
if (!third()) if (!third())
return; return;
...@@ -602,12 +609,12 @@ Stick with people you feel comfortable with. ...@@ -602,12 +609,12 @@ Stick with people you feel comfortable with.
- Homogeneous vs. heterogenous - Homogeneous vs. heterogenous
- Task / feature oriented - Task / feature oriented
- Will touch many components of the code-base over time - Will touch many modules of the code-base over time
- Work may conflict with other squads' - Work may conflict with other squads'
## Concept of Maintainers ## Concept of Maintainers
- Associated with specific components (e.g. database) - Associated with specific modules (e.g. database)
- Squads coordinate with the corresponding maintainers - Squads coordinate with the corresponding maintainers
- Maintainers are regular developers - Maintainers are regular developers
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment