What I reviewed:
- Yesterday’s diary entry:
- Important to stress that existing code > no code
- Code will never be perfect, so don’t let good code be the enemy
Where I’m at:
- Need to continue with building out the design documents for my personal crypto project, I’m working on the User Interface and Transaction Functionality specifically.
What I learnt:
Readme Driven Documentation
Working through the design documents makes you really think deep down what exactly it is that you’re trying to accomplish. It makes software design a lot easier, rather than making design choices as you are coding.
Coding for the sake of coding might start off well. But it comes back to the idea that organising feels good, but the productivity is fake.
But we also need to avoid over-organising.
The problem is that while thinking through abstractions methodically (e.g. literate programming a la Readme Driven Documentation) and staying in the abstraction domain it is easier to think through problems more thoroughly.
The problem is that we cannot foresee the miriad of issues that prevent our initial implementation / planning. We can expend intense efforts to produce exhaustive documentation first, but what if we cannot implement our documented design?
We now have a miriad of changes in documentation we have to work through, and that’s if we understand them all! Which we very likely do not.
Miscellaneous stuff
- We have a limited cognitive capacity each day, and context switching (from concrete and abstract thinking modes) saps this faster than remaining firmly in one mode at a time.
- Teaching requires a deep understanding of the student’s interests, goals, motivations, etc because that gives us their “patterns” and “shapes” in understanding. Someone who is interested in mathematics for instance would be naturally adept at computer science.
What I did:
- Further developed the Transaction Functionality module, including running through the types of variables, events, errors, etc.
- Created a flow for designing / implementing a system called “Moduo”.