Software Engineering: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
[https://tom.preston-werner.com/2010/08/23/readme-driven-development Readme Driven Development] by Tom Preston-Werner, founder and former CEO of GitHub. | [https://tom.preston-werner.com/2010/08/23/readme-driven-development Readme Driven Development] by Tom Preston-Werner, founder and former CEO of GitHub. | ||
[https://thethreevirtues.com/ The three virtues] | |||
== Random notes == | == Random notes == | ||
| Line 25: | Line 27: | ||
* Testable | * Testable | ||
* Readable | * Readable | ||
== Technology Specific == | |||
React Component is a function that accepts input and returns a React Element | |||
Latest revision as of 16:21, 16 June 2025
Reading
Readme Driven Development by Tom Preston-Werner, founder and former CEO of GitHub.
Random notes
Software engineering is programming over time.
From ui.dev: "as a software developer, your primary job is to maximize the predictability of your program."
Related to the "principle of least surprise".
Two contributors:
- Side effects
- Inconsistent outputs
To make a predictable program:
- No side effects
- Consistent outputs
Benefits:
- Composable: doesn't rely on outside state, so you don't have to think through what happens when you compose a few together or reuse them.
- Cachable
- Testable
- Readable
Technology Specific
React Component is a function that accepts input and returns a React Element