I’ve been at a number of community run, focused, and attended conferences so far this year. And despite our celebration of the results and benefits of a community, we often forget all the effort that goes into the mechanics and operations behind the scenes.
In Friday’s post, I explained and gave examples of SOLID principles. I left out an example of the Liskov Substitution Principle because it deserves its own post.
In Object Oriented Design, there are a handful of principles that should drive everything else. Ideally, we want everything to be “loosely coupled.” There are a variety of ways to accomplish that but generally as long as we keep the internals of classes hidden from one another, we’re on the right path. Further, we want everything to be “highly cohesive” where like things are together.. but is that enough?
There's no way around it, we have class dependencies within our other functions, methods, etc. Within the PHP community, the argument isn't whether or not it makes sense. Our argument centers around: what is the best approach? Ralph Schindler – he works for a company called Zend – lays out the history, the arguments, and drops some useful conclusions..
Almost without thinking about it, we use a variety of Design Patterns every day. As much as some make our lives easier and our code better, some haunt us in our dreams, and make us dread the morning.
Earlier this week, I taught a "php|architect Live" session on Object Oriented Programming: Principles & Practice. While preparing for the course, I realized that despite regularly talking about Design Patterns in the PHP community, we primarily talk about just a few. So while we complain about Singletons and celebrate MVC, we leave out many of the others that can make our lives easier and our code better.
While under development, we didn’t fully realize what all this release would entail. As this development cycle began, we had a perfect storm of events: a holiday break, a particularly motivated project team, a few moments of clarity, and an engaged community. These things gave us significantly more updates, fixes, and improvements for v2.3 than we expected…
As we wrap up 2010, we've made our final web2project release for the year. Version 2.2 includes major improvements to the Gantt Charts, adding jQuery to core, and even adding Czech and Russian to our supported translations. Keep reading for details.
High Code Coverage through extensive Unit Testing is the Holy Grail in software development. Theoretically, it would create an environment where the code could be debugged, re-factored, and extended while keeping a stable and overall clean system. Unfortunately, this is just about as elusive as the Holy Grail. So how can we do Unit Testing in the real world.