Eric Raymond谈模块化原则,胶合层和面向对象的缺陷

Eric Raymond探讨了模块化的关键原则,主张保持代码简洁,以应对日益增长的软件复杂性。从早期的子例程划分到现代的API和分布式系统,程序员不断寻找解耦和简化代码的方法。他指出面向对象编程的一些潜在缺陷,并强调了在层级结构中保持清洁和简单的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[译者注]前不久翻译了Eric Raymond对几大开发语言的评价,
引起了网友的热烈讨论。其中涉及到Eric Raymond对OO的批
评,引起大家的争议。为此我再翻译他的一段相关文字,请
大家阅读思考。
 

模块化 —— Keep it clean, keep it simple

 

    程序员所面对的复杂性日益增大,而划分代码的方法也有一个自然的发展过程。一开始,软件不过是一大块机器代码。最早的过程化语言带来了“依据子例程划分代码”的观念,接下来我们发明了程序库,为不同程序提供公共服务。再下来我们发明了独立地址空间和进程间通信。如今,我们已经惯常于把程序系统分布在彼此相隔万里的互联主机上。


    Unix的早期开发者同时也是软件模块化思想的先锋。在他们之前,模块化只是计算机科学的思想,还不是工程实践。其弘旨是:要开发可正确工作的复杂软件的唯一途径,就是用定义良好的界面把诸多简单模块连结起来,形成整个系统。只有如此,大部分局部问题才可能在局部得到修正或者优化,而不至于破坏整体。


    今天所有的程序员都被教育要在子程序的层次上进行模块化。有些幸运者掌握了在抽象数据类型(ADT)层次上的模块化能力,就已经被认为是好的设计者了。如今的设计模式运动,就是希望把这个层次再提高一步,发现那些有助于对程序大型结构进行良好组织的成功的设计抽象。<

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值