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.

Refactoring

  • Refactoring: Extracting Data Objects

    by Tobias Schlitt on Tue, 07 Feb 2017 09:35:57 +0100

    Extracting data objects from your code will make it easier to read and write, easier to test and more forward compatible. This post shows you the two most common cases where introducing a data object makes sense and how to do it.

    Read more on Refactoring: Extracting Data Objects…
  • Refactoring Should not Only be a Ticket

    by Tobias Schlitt on Tue, 24 Jan 2017 09:11:15 +0100

    In this blog post I would like to elaborate a bit further on why refactoring should never only be a dedicated task on your board. It should be an essential part of every task you work on…

    Read more on Refactoring Should not Only be a Ticket…
  • Getting Rid of static

    by Kore Nordmann on Tue, 10 Jan 2017 07:32:43 +0100

    When people start (unit-)testing their code one of the worst problems to tackle are static calls. How can we refactor static calls out of an existing application without breaking the code and while producing new features? How can we get rid of this big test impediment?

    Read more on Getting Rid of static…
  • How To Refactor Without Breaking Things

    by Tobias Schlitt on Wed, 01 Jun 2016 12:46:18 +0200

    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…
  • 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…
  • Learn OOD - to unlearn it again

    by Tobias Schlitt on Tue, 11 Feb 2014 07:09:59 +0100

    One topic we regularly teach in workshops for our customers is object oriented design (ODD), i.e. the art of crafting classes/interfaces in a way that the result is an easy-to-understand, maintainable and flexible code base. With the agile focus on shipping working software, some might consider the skill of OOD less important. One popular argument is that quick reaction to change is more important than designing objects and their interaction carefully. I personally look at it the exact other way around. This blog post summarizes why you need to learn OOD first, in order to avoid it to some degree again.

    Read more on Learn OOD - to unlearn it again…
  • Fixing Legacy Code

    by Kore Nordmann on Mon, 09 Sep 2013 07:07:03 +0200

    Working on a green-field project where you can start from scratch and avoid all the annoyances you experienced in earlier projects is fun. However, most developers cannot enjoy this pleasure but work with legacy code 99% of their time. Even harder, many green-field projects turn into legacy within months or even weeks.

    Read more on Fixing Legacy Code…
  • PHP Refactoring Browser Alpha Release

    by Benjamin Eberlei on Mon, 08 Apr 2013 09:56:18 +0200

    Without continuous refactoring, code maintainability and extensibility will start to decrease fast, even if it has tests. Until now, only IDEs contained functionality to perform automated refactorings. And then even only PHPStorm contains the most important refactorings such as "extract method". Today we release the PHP Refactoring Browser, a refactoring tool written completely in PHP.

    Read more on PHP Refactoring Browser Alpha Release…
  • Testing legacy code

    by Manuel Pichler on Mon, 02 Aug 2010 11:19:09 +0200

    Today we know about the benefits of Test Driven Development and normally also start new projects using TDD. Most projects from the last couple of years integrated this method in their daily development process, which often results in in good code coverage results of 90% and above. But what about all the other old projects, you still manage in your daily work?

    Read more on Testing legacy code …
1 - 2