写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

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

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

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

关注

评论

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

TiDB 优化器 | 执行计划管理及实践

PingCAP

数据库 TiDB 优化器

利用淘宝1688 API接口,构建高效淘宝代购与集运解决方案

代码忍者

代购商城系统

法国 mixtral一种具有开放权重的高质量稀疏专家混合模型

测试人

软件测试

荆门正规等保测评机构有吗?在哪里?

行云管家

等保 等保测评 荆门

数字孪生赋能BMS:开启电池管理新纪元

DevOps和数字孪生

签约快讯|天润融通签约问界

天润融通

园区数字化管理系统(源码+文档+部署+讲解)

深圳亥时科技

【NeurIPS'24】阿里云 PAI 团队论文被收录为 Spotlight,并完成主题演讲分享

阿里云大数据AI技术

人工智能 阿里云 论文 NeurlPS

外行如何速成专家?Embedding之BM25、splade稀疏向量解读

Zilliz

Milvus embedding向量 BM25 稀疏向量 splade

英特尔携手行业合作伙伴,共拓医健融合之道

E科讯

技术揭秘:图形工作站、个人电脑和服务器的硬件差异

青椒云云电脑

图形工作站

Python随机抽取Excel数据并在处理后整合为一个文件

不在线第一只蜗牛

Python Excel

垃圾清理应用卸载工具CleanMyMac X for Mac

小玖_苹果Mac软件

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(8)

HarmonyOS SDK

harmoyos

蛋糕、面包加工厂MES智能化生产管理

万界星空科技

mes 万界星空科技 面包行业 蛋糕行业 食品加工行业

比特币网络及其经济基础的演变:从零到十万美元的非凡历程

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

BSC项目开发:构建区块链应用的全面指南

区块链软件开发推广运营

交易所开发 链游开发 公链开发 代币开发

用腾讯云AI代码助手开发一款数据库敏感信息检查工具

CodeBuddy

会议通知:人工智能通识教育与实践发展暨和鲸科技AI通识课解决方案发布会

ModelWhale

人工智能 大数据 高校课改 通识课

HarmonyOS 5.0应用开发——属性动画

高心星

arkui HarmonyOS NEXT HarmonyOS5.0 属性动画

多功能代码编辑器BBEdit for Mac 激活版

小玖_苹果Mac软件

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