Michael Feathers Talk

Get Started. It's Free
or sign up with your email address
Rocket clouds
Michael Feathers Talk by Mind Map: Michael Feathers Talk

1. But there is a gulf in understanding if you odn't 'get it' yet

1.1. Once you get used to the style, it's not that bad

1.2. Howevr it is not terribly intention revealing

2. if you add these to your toolset, you discover that you can use them all the time

3. Total functions

3.1. Never return nil

3.2. take is total

3.3. detect is not

3.4. Jquery is also a total function (fyi ;0)

3.5. total functions can be chained

4. These constructs provide a huge amount of power

5. So what can we do with this possible scariness?

5.1. Make it a little bit more OO

5.1.1. extract a class

5.1.2. But what if we only use it in one function?

5.2. How far do we go in the direction of special purpose abstractions ot make things more readable

5.3. What is clever?

5.3.1. If we're using good names, we wind up with a story

5.3.2. Functional doesn't use names about the domain as much, they're using names that are common

5.3.3. Learn about Enumerable and Array

5.3.4. If you understand how group by works, it never changes.

6. Writing functional code is about discovery

6.1. we find things like each_slice

6.2. We have to look for them

7. My point is that what we take for granted about programming is a shared experience. If we don't see code that does group_by often enough it's crazy as hell. But once you see it often it becomes "oh cool!"

8. There is a lot of cool stuff there, don't let stuff that looks hard prevent you from learning