Qafoo GmbH - passion for software quality

Help you and your team benefit from new perspectives on cutting-edge quality engineering techniques and tools through the Qafoo team weblog.

PHP Hypertext Processor

  • When To Abstract

    by Kore Nordmann on Tue, 17 May 2016 12:30:54 +0200

    One of the most difficult challenges in a developers life is finding the "right" abstraction, or at least the best one given the current circumstances. The core problem is that abstraction is a bet on the future development of the software and we know that future is volatile. The circumstances will change, so will the view on the best abstraction change.

    Read more on When To Abstract…
  • Never Use null

    by Kore Nordmann on Tue, 03 May 2016 08:58:13 +0200

    When doing code reviews together with our customers we see a pattern regularly which I consider problematic in multiple regards – the usage of null as a valid property or return value. We can do better than this.

    Read more on Never Use null…
  • Common Bottlenecks in Performance Tests

    by Kore Nordmann on Tue, 19 Apr 2016 09:16:27 +0200

    Most developers by now internalized that we should not invest time in optimizations before we know what happens exactly. This is true for optimizations in your PHP code but also for optimizations regarding your infrastructure. We should measure before we try to optimize and waste time. How can this be done?

    Read more on Common Bottlenecks in Performance Tests…
  • Using Mink in PHPUnit

    by Benjamin Eberlei on Tue, 05 Apr 2016 08:06:36 +0200

    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…
  • Launching the Tideways Company

    by Benjamin Eberlei on Thu, 31 Mar 2016 12:42:30 +0200

    Today we have a very exciting announcement: Qafoo and I have launched a new company together to turn my side project Tideways into a fully-fledged business.

    Read more on Launching the Tideways Company…
  • Why Architecture Matters

    by Kore Nordmann on Tue, 22 Mar 2016 09:35:38 +0100

    We experience that the system architectures of our customers grow more and more complex. This is either because of scaling requirements or because developers like to try out new technologies like implementing Microservices. What are the challenges with this and how can we overcome them?

    Read more on Why Architecture Matters…
  • Testing Effects of Commands With Phake::capture()

    by Benjamin Eberlei on Tue, 08 Mar 2016 10:33:33 +0100

    Today I want to share a simple trick for the excellent Mocking library Phake (I wrote about it before) when testing state on APIs that don't return values.

    Read more on Testing Effects of Commands With Phake::capture()…
  • Teaching and Learning Domain-Driven Design without Patterns

    by Benjamin Eberlei on Sat, 27 Feb 2016 11:01:20 +0100

    When development teams start to use Domain-Driven Design (DDD) in work projects, then one or more developers read the blue book by Eric Evans and start to apply patterns such as Entity, Repository, Services and Value Objects. In my experience with teams using DDD it can be very distracting to think in patterns. Read about a more practical way to get started…

    Read more on Teaching and Learning Domain-Driven Design without Patterns…
  • Analyze the Quality Of Your PHP Code

    by Kore Nordmann on Fri, 23 Oct 2015 11:23:00 +0200

    In code reviews we often browse metrics, source code and reported code issues together with our customers. This leads to discussions about the current state of the code and possible improvements. First we used a bunch of shells scripts for that. In a second step we developed a simple PHP (Open Source) application helping us to do the job. Now we did the third step and rewrote that application into a React based client side (Open Source) application. Read on for the reasons and benefits…

    Read more on Analyze the Quality Of Your PHP Code…
  • Developers Life is a Trade-Off

    by Tobias Schlitt on Wed, 27 May 2015 10:58:03 +0200

    At Qafoo, we train a lot of people on topics like object oriented software design, automated testing and more. It happens quite often that an attendee asks questions like "Which is the best solution for problem class $x?", "What is the optimal tool for task $y" or "There is a new technology $z, is that the future of web development?". Some are disappointed when I reply "It depends" or "That does not exist", but that's the truth.There is no silver bullet and one of the most important skills every developer needs to hone is to assess possibilities and to find the best trade-off for the current challenge.To make that point clear I'm giving three examples from my personal experience, some where it went well and some where it did not.

    Read more on Developers Life is a Trade-Off…
1 - 2 - 3 - 4 - 5 - 6