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)