Transitioning From Procedural Programmer To OOP Programmer
Recently i went through a lot of changes in my computing life.
After spending 5 years coding in procedural PHP i am going full throttle for OOP PHP.
I enjoyed PHP very much these years, from the day i learnt how to connect to a database, to more recently how to scrape a website using curl via proxies, i've learnt a lot, still a lot to learn.
Proof is i spent a month learning Java EE, using Eclipse, and I must admit that it's time to become a better developper. Embracing OOP programming involves learning a lot of new paradigm and habits.
Use a real IDE
Like Eclipse. I have used SublimeText, and was very happy with it, but if you are coding in a OOP manner, this software doesn't fit so well. I needed a software that could parse libraries and have auto completion, access to documentation, do more advanced stuff.
Learn versioning !
At one point in time, you'll be very annoyed with the different folders storing your different script versions. Isn't great a software can do the version management for you? thus eliminating the risk of messing up with your code on a production site ! This is very important if you work in a team.
Think in OOP
Of cours ! But OOP involves concept such as Dependy injection, Inversion of Control, writing unit test, design patterns, loose coupling, infamous OOP concept such as inheritance, polymorphism, interface, Exception.
That's only the beginning !
After you get your foot into OOP, you'll have to be familiar with software building. I'll explain later what software building is. You'll need to grasp the concept of continuous integration, Agile ans Scrum. And with that you'll be familiar with Jenkins, which is a continuous ( CI) integration server.
The process of building a software includes various testing of your software, functional testing and integration testing, for example testing a web interface, and have these test automated to reduce the isk of error. CasperJS or Selenium are the most popular choice these days.
So, i am in a new journey to the land of coding, and this is simply fantastic. I'll share my learning on this blog with you.