Comments on: Object Oriented Design for Life https://www.linesperday.com/object-oriented-design-for-life/ Lines Per Day Sat, 10 Jun 2017 07:48:14 +0000 hourly 1 https://wordpress.org/?v=6.5.5 By: Muhammad Umair https://www.linesperday.com/object-oriented-design-for-life/#comment-38 Sat, 10 Jun 2017 02:24:00 +0000 http://www.linesperday.com/?p=239#comment-38 In reply to Thomas Langhorst.

The first aha moment–I wrote my first large project code using vb6. It was painful. When I started writing code using oop.. The basic concepts like encapsulation brought in the happiness a.k.a easy to change..

To keep track of the progress–
I do reviews and note the benefits of any design pattern I implemented.

Most of the design patterns or any principle didn’t make sense until you implement that.

Hence implementation and review are the keys for making progress.

]]>
By: Thomas Langhorst https://www.linesperday.com/object-oriented-design-for-life/#comment-37 Thu, 08 Jun 2017 17:57:00 +0000 http://www.linesperday.com/?p=239#comment-37 In reply to Muhammad Umair.

I think most of our discussions were based around the concepts of Dependency Injection, Inversion of Control and design patterns. By discussing which design pattern to use and why we think it is the right choice we both learned the most about OOP and OOD.

Speaking for myself: Internal resisting factors were the ones that kept me check for a long time. I was always in doubt about my own skills because I had no one to tell me if my code was good or bad. I was only judged by “problem solved equals good code”. But after my coworker was able to use my code only by extending some interfaces (without making changes) I realised that all the hard work paid off. This was a huge boost of confidence.

Another way how I overcame my fears was start writing my own library. I only use it for myself but every time I extend it I make sure to go through the old classes. Most of the time I find things to improve or to refactor. This helps me keeping track of my own progress and in addition I always feel pretty smart 🙂 Hence, boosting my confidence.

What was your first “Wow, I did it the right way!” moment? And do you have a special way of keeping track of your own progress?

]]>
By: Muhammad Umair https://www.linesperday.com/object-oriented-design-for-life/#comment-36 Thu, 08 Jun 2017 02:02:00 +0000 http://www.linesperday.com/?p=239#comment-36 In reply to Thomas Langhorst.

Thanks man.
Yes, your story pretty much resonates with my story. Thanks for sharing your experience.

I believe that teaching others will not only help others but it helps you too. I learned too much by teaching others because I tried to understand the topic from each perspective. I tried to answer all of my questions — that arose in my mind while learning.

Because of that I can answer the questions asked by my students. Hence I strictly follow this rule : learn something like you have to teach it to others.

So, would you like to share the top-most problem or challenge or question that your coworker student had?

]]>
By: Thomas Langhorst https://www.linesperday.com/object-oriented-design-for-life/#comment-35 Wed, 07 Jun 2017 06:35:00 +0000 http://www.linesperday.com/?p=239#comment-35 Hey dude. First of, great article! I read your articles every single time and really appreciate your efforts. I myself am a junior developer with just 3 years of experience under my belt. About one and a half year ago I stumbled over the great book ‘Clean Code’ by Uncle Bob and was astonished how much I did wrong. Let’s be honest: I was a really shitty programmer before I started reading it. But practice and patience (and a lot more reading about OOP and Design Patterns) did it’s work. A couple of months ago a new coworker started at our company and he did not know nothing about OOP so I took the chance and tried to explain to him what I have learned so far. He was incredibly thankful for all the advices I gave him and this is what I have learned from that: TEACH OTHERS! Because they ask questions you never came up with you start checking for them and actually learn alongside with them. This really skyrocketed my learning curve and it is an incredibly rewarding experience for both sides!

TL;DR: Teach others.

]]>