最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

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

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

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

关注

评论

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

云原生小课堂 | 一文入门性能凶悍的开源分析数据库ClickHouse

York

数据库 开源 容器 云原生 Clickhouse

热烈欢迎金蝶云·苍穹正式入驻 InfoQ 写作社区!

金蝶云·苍穹

自动化,怎么能少了性能测试

SoFlu软件机器人

网络安全之内核提权漏洞深入分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

腾讯云百万容器镜像安全治理运营实践

腾讯安全云鼎实验室

安全服务

企评家|上海星光电影股份有限公司成长性报告简述文章

企评家

大数据 企业 企业评价 企业大数据 企业成长性

阿里云EMAS旗下低代码平台Mobi开放定向内测

移动研发平台EMAS

阿里云 低代码 公有云 研发工具 全端

架构训练营毕业总结

Geek_16d2b8

架构训练营

如何用 Serverless 低成本打造个人专属网盘?

阿里巴巴云原生

阿里云 Serverless 云原生 网盘 低成本

堪称完美的SQL调优笔记居然是百万年薪阿里P8大佬熬肝纯手打,内容简直太香

Java架构追梦

Java 程序员 java面试 后端开发

区块链合约安全系列(一)公链合约权限校验引发的严重安全问题

BSN研习社

区块链

nginx配置系列(一)nginx配置语法解读

乌龟哥哥

4月月更

张文骁:游戏开发的“零件人”梦碎之后|OneFlow U

OneFlow

2022年短视频电商品牌营销专题—手机品牌抖音营销分析报告

Geek_2d6073

受信通院之邀出席全球信息系统稳定性峰会,数列技术实力再获认可

TakinTalks稳定性社区

架构训练营模块九作业

Geek_16d2b8

架构训练营

易观分析发布:证券类APP用户体验指数评测框架

易观分析

证券app

利器解读!Linux 内核调测中最最让开发者头疼的 bug 有解了|龙蜥技术

OpenAnolis小助手

开源 内存 技术分享 内核 龙蜥大讲堂

精巧的Boyer-Moore投票算法

皓月

算法

关于一家企业的成长性评价,其评价维度都有哪些?

企评家

企业 分析 成长性 评价 企业成长性分析

字节”再次起跳!内部651页剖析HotSpot 源码手册,GitHub开源

Java架构追梦

Java 程序员 后端开发 字节

恒源云(Gpushare)_模块化oss数据上传小技巧

恒源云

深度学习 GPU服务器

编程好习惯

源字节1号

软件开发

数据库管理系统的未来是什么?

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

Java面试题库答案(技术+人事)

Java架构追梦

Java java面试 后端开发 程序员面试、

华为云持续快速增长 践行“深耕数字化,一切皆服务”

科技热闻

聚焦新基建,企业如何实现供应链管理再升级?

数商云

产业互联网 新基建 供应链

被裁后半月面试8家公司无果,凭借这份Java面试指南成功入职阿里

Java全栈架构师

程序员 JVM 高并发 架构师 java面试

企业团队协同软件,SaaS模式产品快速增长

小炮

SaaS 企业团队协同

【今晚19点】关于论文复现赛,你想知道的都在这里啦!

OpenI启智社区

PaddlePaddle 论文复现

宜搭小技巧|巧用审批按钮,流程随心流转

一只大光圈

低代码 数字化 钉钉宜搭

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