Some of these, I may write more about. I often feel like these statements between them point in a direction, and some days I think that I could build something that they’re pointing at. Maybe I’ll just keep complaining, though!
- A database is just a big ol’ global variable.
- Mutable state is where bugs come from.
- Uncontrolled side effects mean you may as well have mutable state everywhere.
- Does your application’s database contain a stream of data, or a pile of facts? We think of it as a pile of facts, even when it’s a stream of data. We should stop doing that.
- Your tests should only assert things that you actually care about.
- Mocks in a dynamic language are almost unforgivable.
- A relationship between two objects, doesn’t belong to either of them.
- A picture does not describe a user experience.
- Building pages in terms of html and then dealing with them in terms of DOM is stupid.
- Why wouldn’t you want your language to stop you from putting round things in square holes?
Funny, I spent the past two years writing a paper about points #2, #3 and #10.
And I spent the last two years in industry, suffering at their hands :)