前几天,我偶然发现了 Linus Torwalds 的一篇相当古老的 usenet 帖子。当他为自己选择使用纯 C 语言而不是更现代的东西进行辩护时,这是臭名昭著的“你充满了公牛****”的帖子。
特别是这篇文章让我想到了在我工作的地方积累了大量的抽象层。我的是一个 Windows .Net 环境。我必须说我喜欢 C# 和 .Net 环境,它确实让大多数事情变得简单。
现在,我来自一个非常不同的背景,由 Unix 技术(如 C 和过多或脚本语言)组成;对我来说,OOP 只是一种,并不总是最好的编程范式。我经常(以一种工作方式,当然!)与我的同事(尤其是一个)斗争,因为他们似乎是“任何问题都可以通过额外的抽象层次来解决”教会,而我更多的是“保持简单”的学校。我认为对于可能来自不同文化的问题,有一种非常不同的心理方法。
作为一个非常简单的示例,对于我在这里所做的第一个项目,我需要为应用程序进行一些配置。我制作了一个 10 行的类来加载和解析一个 txt 文件,该文件位于程序的根目录中,其中包含冒号分隔的键/值对,每行一个。有效。
最后,为了标准化配置问题的方法,我们现在在每台运行每个配置程序的机器上都有一个库,该程序调用一个服务,在启动时,加载一个包含对其他 xml 的引用的 xml,一个每个应用程序,其中包含配置本身。
现在,它是可扩展的,由花哨的可重用抽象、提供程序和所有组成,但我仍然认为,如果有一天我们真的碰巧重用了它的一部分,随着时间的推移,我们可以制作所需的代码从开始或复制/过去旧代码并修改它。
你对此有什么想法?你能指出一些有趣的参考来处理这个问题吗?
谢谢