In its early days, PHP programming was largely limited to being highly procedural. There were certain building blocks to every applications and these ‘procedures’ offered a degree of reusability by being called by other applications. However, a programmer can still introduce the OO characteristics without the constructs of object oriented language, into the codes. While the process if a tad bit difficult, the ability to be able to build relationships between interfaces and classes makes it easier to come up with codes that are governed by good OO practices.
Here are top 5 PHP coding habits that every programmer is expected to follow:
1. Being a good neighbor
Classes should be able to handle errors self-sufficiently. Consequently, you should package them in a format that is easily understood by the caller. Further, it is better to avoid any returning object in a state of null or invalidity. This can simply be taken care of by throwing specific exceptions and verifying arguments to prove the invalidity of supplied arguments. This habit can save you from wasting a lot of time.
2. Avoiding the Medusa!
Beginners in PHP are always confused about the importance of interfaces. However, experts and seasoned professionals suggest that not using interfaces would be like looking into the eyes of the Medusa. In mythology, any person who would look into the eyes of Medusa, a Greek Goddess with snakes for hair would turn into stone! Similarly, with interfaces, using them directly limits your options and your classes are set in stone.
3. Embracing the weakest links
It’s a good thing when you couple your modules loosely as they allow encapsulating change. The first and third habit mentioned above will also help your work towards modules that are coupled loosely. However, to loosely couple your classes, you should develop the final characteristics by lowering dependencies of classes – make this a habit. When trying to build OO designs, it is better to think of concepts like “Separation of Concerns”, wherein programmers try separating objects from classes, thus reducing the coupling.
4. Being modest
Try not to expose yourself with your functions and class implementations. Hiding information is accepted as a foundational habit and it will get more difficult to build other good habits if you are already into hiding your implementations. Also referred to as encapsulation, exposing public fields makes you run out of options when things change in your implementations. It is better to use OO concepts to isolate the changes and stop them from spreading early on.
5. Sticking to the family
The greatest disaster in OO programming is the copy-paste operations. Used without an upfront OO design, they can create havoc. Whenever, you are being tempted to use the same lines of codes from one class in another, it is a good habit to stop and consider how the class hierarchy can be leveraged to identical functionality. In most cases, copying codes is totally unnecessary when trying to come up with a good design.
Which programing practices form a part of your internal team checklist? Do leave in your comments and let us know.