diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2018-07-02 18:15:56 +0200 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2018-07-02 18:16:10 +0200 |
| commit | 45fb3475a1900786de4d80d21f94cd6ad85a5cfa (patch) | |
| tree | 6471ffe45876165badb4c3ae0f01f21e667261f0 /technical | |
| parent | 49539c7d0d625be61541118c14616ddcb0af9bb5 (diff) | |
| download | memory-leaks-45fb3475a1900786de4d80d21f94cd6ad85a5cfa.tar.xz | |
Start adding notes on talks
Diffstat (limited to 'technical')
| -rw-r--r-- | technical/reviews/talks.md | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/technical/reviews/talks.md b/technical/reviews/talks.md new file mode 100644 index 0000000..271f8b7 --- /dev/null +++ b/technical/reviews/talks.md @@ -0,0 +1,46 @@ +# Sandi Metz - Nothing is Something + +:::: tags +- OOP +- Ruby +:::: + +Some insightful thoughts on OOP. + +Clever examples of message-passing to get rid of conditionals. + +Prefer composition with dependency injection to inheritance: +inheriting to override a method really means that the parent class had +a default "null" behaviour that can be injected explicitly. + +Name the role, make an interface for it, and make classes that +implement each behaviour (the null one and the specialiazed one). +This will make it easier to compose specializations (i.e. save you +from multiple inheritance). + + +# Sandi Metz - Rules + +:::: tags +- OOP +- Ruby +:::: + +Some theory-crafting on rule-following, then the actual rules, which +amount to + +- small classes, +- tiny methods, +- few parameters. + +At the 16-minute mark, an interesting interaction between Metz and a +programmer starting to apply these rules: the programmer wonders when +they will be able to understand the new application "the same way" +they understood the old one. I.e. will they ever reach a point where +they have a complete mental map of every interaction between every +object, the same way the used to have a complete mental map of the old +monolithic, sequential application? + +Metz's response is that nope, this will never happen; they will "cease +to care" instead. In exchange, they will be able to make localized +changes without worrying about breaking the whole application. |
