--- date: 2024-03-20 topic: Domain-Driven Design guests: - Rob Allen transistor: id: 0de0b405 links: - - Rob's blog - https://akrabat.com - - Nineteen Feet - https://19ft.com talking_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) chapters: [] --- This week, Oliver discusses Domain-Driven Design with PHP UK speaker, Rob Allen.