Jump to content

Software Engineering: Difference between revisions

From wiki.rayhan.com
Created page with "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"."
 
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Reading ==
[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 ==
Software engineering is programming over time.  
Software engineering is programming over time.  


Line 4: Line 12:


Related to the "principle of least surprise".
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

Latest revision as of 16:21, 16 June 2025

Reading

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

The three virtues

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