OOP is More Than Cars and Dogs


Comments are closed.

This session should be MANDATORY for novices on object orientated programming in general and programming best practices. Brilliant examples were used to show discussed concepts.

great examples in the slides!

Can you post a link to the Clean Code book you recommended? I cannot successfully google it. :(

Great overview with simple and clear definitions and short examples describing what is good, ok, or bad and what it looks like after the changes.

Great talk for anyone who wants to know more about object oriented programming. I rated 5 stars even if I already knew all the showcased stuff. The talk was greatly presented with nice code samples. I may suggest to use Prophecy as an alternative more modern stubbing library instead of Mockery / Phake or PHPUnit default one. Well done Chris!

I believe the Clean Code book is Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin.

Anonymous at 11:24 on 20 May 2015

Thanks for this! It was extremely useful to see how to take OOP a bit further within PHP

Might be my own newb issues with OOP, but it would have been nice explaining some of the jargon a bit more or explaining some of the questions from the audience. Also slowing down the code examples a bit more would be nice.

Really appreciated this talk.

Good presentation. Thanks for your time.

I thought the most helpful part was going through real world code and critiquing the design choices. It might have been even better if you devoted more time to this and showed more specifically how you would refactor. You could even frame the whole talk about that, showing the value of the various concepts you are teaching without first naming and defining them. Justify the changes; show their merits; and then explain how it is a named pattern and provide its details.

You didn't really sell interfaces much. Sure, you can implement multiple interfaces as opposed to inheriting from just one parent class, but given that you have to write the implementation code in each child class (which is mitigated with Traits), what is the advantage of defining the interfaces? The trait advantage was made clear-- to reduce code duplication. But you didn't explain (to my understanding) the benefits to bothering with the interfaces.

You ended abruptly, without demonstrating and walking through the code which ties together all of the new concepts with your original "dog with wheels" conundrum.

Anonymous at 11:35 on 20 May 2015

Anonymous at 11:53 on 20 May 2015

Good intro to the subject. Might want to prepare more "additional resources" for people looking for more

Anonymous at 11:54 on 20 May 2015

Great job breaking down both the what's and the why's of OOP.

Very knowledgeable and helpful when asked questions! The concepts were explained well. Composition is something I've been looking to get a better understanding.

Good talk. Clear explanations. Best part was the example of a poorly-written class. Consider adding more of these along with how one could apply OOP and SOLID principles to remedy them. An expanded glossary might be helpful, depending on the skill level of your audience.

Very informative. Really loved how we dug into code.

Overall great job. I think I was under the impression there would be more real world examples, outside of dogs, cars and dogs with wheels. Although I liked the direction you went with that.

This talk was a great introduction/reminder of OOP concepts. I would have liked to see some more complex examples that tied together the examples you did give.