写点什么

OOP 更适合组织你的代码么?

  • 2008-12-09
  • 本文字数:714 字

    阅读完需:约 2 分钟

功能强劲且灵活性高的编程语言最近在不断获得动力。然而 Johnatan Tang 就程序结构问题提出了灵活性和生产力的折衷,这是因为传统的面向对象使得程序的编写更加简单且直接

他说在单分支语言中,“给你一个参数或其他值,你就能明确知道可以用它来做什么”。然而在静态类型语言中,代码更能说明与之相关的值,在结构化类型语言中更是如此,对于一个给定的值,你马上就知道能在其上执行何种操作。对于静态和结构化类型语言来说,如果你想对一个给定的对象执行某个不被支持的操作,很明显就能看出来:

你编写一个方法来执行这个操作。如果你没有管理好那个类就会出问题,这正是 Ruby 和 C#转到开放类上的原因所在。 很明显我们知道应该在何处定义该方法:在你需要操纵的类上。

在多分支语言中,于何处编写方法以及“新的方法要接收哪些参数值”就不是那么明显的了。这在代码编写上提供了更大的灵活性但也意味着你要做出更多的决定并需要花费些精力来记住这些决定:

接下来当别人每次使用该方法时,他们都需要记住它定义在什么地方并增加适当的导入语句。如果他们忘了,就会遇到无法预料的行为,因为系统并未加载完成某个功能的适当的方法。

建立约定可以解决这个问题。然而 Tang 认为“如果语言不对约定进行强制限定,人们就不会遵守它”。他在尝试了为模块的排列定义一些模式后断言“这是特定领域所固有的问题:没有哪一个恰当的组织原则可以适合于所有人的程序”。

因此根据Johnatan Tang 所述,在程序的组织上并没有明显的解决方案能达到灵活性和生产力的折衷。你喜爱的语言怎么样呢?你能找到什么解决方案?让大家也一同分享你的经验吧,这两者之间有没有比较方便的折衷方案呢?

查看英文原文: Is OOP Better for Structuring your Code?

2008-12-09 10:54735
用户头像

发布了 88 篇内容, 共 273.5 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

2023年实用性好的堡垒机推荐

行云管家

网络安全 堡垒机

小程序营销模板的发展现状及前景分析

没有用户名丶

小程序

时效准确率提升之承运商路由网络挖掘 | 得物技术

得物技术

供应链履约时效,java

自动化回归测试平台 AREX 0.2.7 版本正式发布!

AREX 中文社区

开源 自动化测试 接口测试 回归测试

软件测试/测试开发丨iOS自动化真机测试验证环境过程中常见问题

测试人

软件测试 自动化测试 测试开发 ios测试

瓴羊Quick BI数据门户,让管理企业像浏览网页一样轻松

对不起该用户已成仙‖

在 Kubernetes 中部署应用交付服务(第 1 部分)

NGINX开源社区

太厉害了!GitHub上标星80K的微服务实战笔记,看完跪了

Java 微服务 Spring Cloud Spring Cloud Aliababa

扫一扫,原来这么简单

HarmonyOS SDK

HMS Core

软件测试/测试开发丨iOS自动化测试之基于模拟器的自动化测试

测试人

ios 软件测试 自动化测试 测试开发

双非渣硕,开发一年,苦刷算法三个月,四面字节成功斩获offer

Java 数据结构 面试 算法

Pushing to Git returning Error Code 403

刿刀

电力行业等保定级评级依据是什么?分为几个等级?

行云管家

电力 等保 等保测评

XLD音频无损解码器:X Lossless Decoder中文激活版

真大的脸盆

Mac Mac 软件 音频解码 音频处理工具 音频管理

火山引擎VeDI零售行业解决方案 聚焦精准营销场景提升品牌转化

字节跳动数据平台

大数据 云服务 数据平台 企业号 3 月 PK 榜

bitget合约一键跟单社区交易平台开发功能以及模式分析

开发微hkkf5566

一文详解Java中的ThreadLocal

Java 多线程 线程池 ThreadLocal

Spring为什么需要三个级别的缓存来解决循环依赖

Java spring 面试 循环依赖 三级缓存

融合低代码与GPT,微软的又一个神奇颠覆

ToB行业头条

用 JavaScript 写出一个彩票系统?

泰罗凹凸曼

JavaScript 前端

Python Dev Day@北京站,我们来啦!

PyChina

ONES 入选北大光华 MBA 整合实践项目,推动校企合作

万事ONES

国际版语音房聊天APP,视频语音平台开发搭建经验及后台项目简要说明

山东布谷科技胡月

语音聊天系统 语音直播app开发 国际版语音直播APP 国际版语音系统源码 语音聊天房系统搭建

文档智能分析产业实践,基于PP-StructureV2和OpenVINO实现训练部署开发全流程

飞桨PaddlePaddle

OOP更适合组织你的代码么?_编程语言_Sadek Drobi_InfoQ精选文章