There are many different ways to teach topics of software developments. From recorded lectures to pair programming. Over the time we tried many of them with different customers and different topics. I want to provide you with an overview of what worked best for us for which topic.
Read more on Methods Of Teaching…Refactoring means to change the structure of your code without changing its behavior. Refactoring is an essential part of everyday programming and should become knee-jerk for your whole development team. It is very helpful to cleanup feature spikes, revise earlier decisions and keep a maintainable code base in the long run. In a perfect project world - with extensive automated tests of various types - this is just a matter of getting used to. But there are only very few such projects, so getting into proper refactoring is much harder. This article will show you important tips to master this challenge with your team.
Read more on How To Refactor Without Breaking Things…Another day for a short PHPUnit trick. If you want to use PHPunit to control a browser for functional or acceptence tests, then you can easily do this using the Mink library. Mink is well known from the Behat community to facilitate Behaviour-Driven Development (BDD), but it is a standalone library that can be used with PHPUnit just as easily.
Read more on Using Mink in PHPUnit…The amount of time wasted on setup, synchronization and deployment of applications is often ignored by teams and managers. Manual server management and application deployment are a huge waste of time and ultimately money. In addition, manual work is often prone to error and a big risk for uninterrupted uptime of production.Software quality does not stop with tests and good CodeSniffer and PHP Mess Detector scores. The deployment and setup is equally important to the quality of an application. From our experience, this is a field where many teams could still achieve huge productivity gains.
Read more on Why you need infrastructure and deployment automation…The topic of Test Driven Development (TDD) and unit-testing usually creates heated discussions among developers. We at Qafoo are not an exception and the topic how to apply TDD in our daily work regularly leads to heated discussions. One reason for this is that both TDD and unit-testing combined are by some people seen dogmatically as the only way to do software development.
Read more on Finding the right Test-Mix…How we need to craft architecture and design in order to significantly reduce the cost for tests. How to escape from the trap of the inner-platform antipattern, where we need to provide all infrastructure and business models with an ugly, mocked twin. Simply: How to efficiently write tests? And how to avoid that everyone hates them within 10 months, so that they would rather deactivate them instead of fixing them.
Read more on Testing: Find the Sweet Spot…