幽默:Ruby on Rails创建者DHH自称是DDD粉丝,不喜欢数学算法,喜欢业务逻辑 - CoRecursive Podcast


我不会成为程序员的原因,因为我只是对数学问题没有兴趣。除了实用算法以外,我对算法没有任何兴趣。嗯 我的确对领域建模深有感触。我对领域建模深有深厚的感情,我与Eric Evans有类似的领域驱动型设计感觉。
我喜欢与业务领域打交道。我喜欢找到正确的词。我喜欢将其分解,将主要模型分解,并将所有这些东西分解开。  逻辑学对此采取了某种语义学方法。它不是算法,逻辑也不属于科学。

...
为什么我认为编程不适合我,因为我认识很多程序员,而且他们都进行过数学类型编程。就像他们是演示编码器或游戏程序员一样,或者其他任何东西都是向量和矢量。我会看一下代码,然后就可以了,是的,不感兴趣,对此绝对没有兴趣。然后,我开始使用Web,然后开始使用业务应用程序,并且从字面上看是信息技术之类的东西。我想,哦,哦,哦。这也算编程,这也可以吗?这是我喜欢的。

....
我想到大约五年前,我构架了所有方法,我们是如何考虑编程的,而不是考虑类似建筑项目或数学性质的问题。我认为这就像写作问题一样,这关乎成为一名优秀的作家。

你如何清晰地表达?如何简洁地、组织段落以对人类阅读形成有意义的凝聚力论点?那就是我喜欢的部分。写作部分和重写部分,例如草稿和编辑内容,我将这些内容分解为逻辑上更清晰的部分,将这些部分组合在一起。当我接触到Ruby的高级编程语言时,我就加入了这个软件舞台,然后与我其他不同的兴趣人可以从事细节工作。

....
我认为前端单页面应用程序是一种严重的过度使用模式,甚至比微服务还要严重。而且我认为,针对单页应用程序服务的编程人文犯罪要远远小于针对微服务服务的编程人文犯罪。当然,很多人将两者结合在一起。因此,这是一个为单个页面应用程序服务的微服务团队。我的脑袋突然爆炸,是的,我宁愿退休去编织篮子,也不去应付那堆狗屎。

....
我将TDD称为软件开发界有史以来最伟大的饮食时尚。TDD将自己展示为创建更好软件的科学方法。而且,嗯。我只是以为这是胡说八道。我写了TDD,我写了很多TDD,对吗?测试驱动开发。我首先编写了很多测试,然后编写了代码,但我不喜欢它。我认为这不是适应我大脑思考的方法。像大多数时候一样,我将首先探索我的编程,只是一种探索。我将弄清楚它是如何工作的,然后再编写测试。
我坚信自动化测试。TDD的支持者将这TDD和自动化测试两个事物混为一谈,哦,您反对TDD,因此反对自动化测试。
我不喜欢通过测试来推动我的开发。我不喜欢先编写测试,然后再编写代码。我不喜欢测试决定了我的内部运作方式。类和我的方法可用于某种可测试性目的。
我与马丁·福勒(Martin Fowler)以及肯特·贝克( Kent Beck)一起就这个话题做了整个系列。回到2014年的演讲中,当我以挑衅性的方式宣布TDD死了,就像上帝已经死了。上帝不再是我们宇宙的中心焦点,对吗?这就是我对以TDD为中心焦点的编程领域的看法。

点击标题见原文DHH录音访谈