This week, Oliver discusses Domain-Driven Design with PHP UK speaker, Rob Allen.
Key points
Rebuild vs. rewrite.
Writing good commit messages.
Are code comments useful?
Technical Design Documents and ADRs.
Ubiquitous language and Domain-Driven Design.
PHP UK, PHP South West, conferences and user groups.
DDD in Drupal?
DRY and YAGNI.
When to refactor?
Quotes
I quite like legacy projects because i think they've already proved their worth in the marketplace. (RA)
I general, I think that rewriting the wrong approach nearly every single time. (RA)
Things are so impermanent. The only things you can trust are in the source code and what's in the revision history of that source code.
We have the "what" but we don't have the "why". (OD)
As you do this for longer, I think you start picking up on what you wish you'd written in the past. (RA)
I think nearly everything related to software development that really matters is invariably about communication. (RA)
Nearly everything that results in good quality software is because good communication works. (RA)
Ubiquitous language is using the same language the specialists are using. (RA)
An awful lot about DDD is trying to get the communication right. (RA)
If you pretend it's not happening, it doesn't mean it's not happening - just that you're ignoring the problem. (RA)
It's cheaper to fix things earlier in the process. (RA)
User groups are such a good community resource. We get to try thing (talks) out. (RA)
A conference gives you a focused block of time to learn something. (RA)
I think the tenets of DDD can are important regardless (of the size of the project). (RA)
We can refactor our way out, but now the overall time is longer. (RA)
Time spent upfront is tangible effect on the time spent later. (RA)
The biggest one [benefit of DDD] is that you end up with a project that's fit for purpose.
You're way more likely to deliver a project that does what the customer needs if you have listened and understood what they said. (RA)
It's in the customer's best interest for you to get it right the first time. (OD)
You have to be proactive. It doesn't happen by default. (RA)