Jump to content

Software Engineering: Difference between revisions

From wiki.rayhan.com
No edit summary
No edit summary
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.
[The three virtues https://thethreevirtues.com/]


== Random notes ==
== Random notes ==

Revision as of 15:55, 13 June 2025

Reading

Readme Driven Development by Tom Preston-Werner, founder and former CEO of GitHub.

[The three virtues https://thethreevirtues.com/]

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