Code Complete book explains this phenomenon in Chapter 5:
As a project grows, we have to add the new functionality.
Let’s say we need to add a new validation rule for the old field. We’ve got 2 options:
Now at Mollie we’re working at two big parts of the project, and at some point they overlap, which causes some difficulties while merging.
For various reasons we don’t do canonical Continuous Delivery, but we do manual releases few times a day. It works good…
I keep struggling sometimes with knowing why has this code been written.
All the known ways seem to be complicated.
I think it’s a good test coverage.
I saw quite some projects: big and small, old and new, with and without test coverage.
Sometimes we have to deal with properties, which can be null
null
/** * @var string|null */private $description;
It’s fine, IDE will generate a getter for us
public function…