写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

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

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

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

关注

评论

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

代码可控是什么意思?有哪些优势?

行云管家

信创 国产化 代码可控

IBM Storage Ceph:现代数据湖仓的理想技术底座

财见

Atlassian Intelligence功能简介,AI驱动生成、概括、优化内容,助力工作效率加倍

龙智—DevSecOps解决方案

AI Atlassian

游戏开发巨擘的选择:2023 TGA获奖工作室共同青睐Perforce版本控制

龙智—DevSecOps解决方案

游戏开发 游戏 TGA

2023年哪个前端框架用的最多?

伤感汤姆布利柏

WebSocket 教程:实现二进制数据传输的详细指南

Apifox

前端 后端 websocket 实时通信 二进制数据

Aetina发布首款采用NVIDIA Ada Lovelace架构的MXM图形模块

财见

基于生成式人工智能的平台 Cognizant Flowsource™ 发布,旨在为现代工程提供动力

财见

重构商业生态:支付宝小程序云与AI融合的无限可能

TRaaS

小程序 支付宝小程序 AI 小程序云

低代码平台如何快速开发应用?

互联网工科生

低代码开发 JNPF

专科学历被裁,我是如何逆天改命的?

霍格沃兹测试开发学社

Gartner 2023 API管理魔力象限发布,SmartBear被评为“远见者”

龙智—DevSecOps解决方案

Gartner SmartBear

云服务器是干什么的?其工作原理及优势解析

天翼云开发者社区

云计算 云服务器

京东广告算法架构体系建设--大规模稀疏场景高性能训练方案演变

京东科技开发者

Unity 现正式支持 visionOS 平台,赋能Apple Vision Pro应用创建

财见

专科逆袭!裁员后薪资翻倍,他的成功秘诀竟然是…

测吧(北京)科技有限公司

测试

面试官:你能简单聊聊MyBatis执行流程

华为云开发者联盟

Java 开发 华为云 华为云开发者联盟

演讲回顾:如何为大规模研发团队加速CI构建,实现高效流水线

龙智—DevSecOps解决方案

DevSecOps Atlassian

2023 OpenHarmony年度运营报告

OpenHarmony开发者

OpenHarmony

Ray on ACK 实践探索之旅 - RayCluster 篇

阿里巴巴云原生

阿里云 云原生 ray

Java 程序员的待遇为何一直居高不下?

伤感汤姆布利柏

职场逆袭:被裁成为薪资翻倍的契机

测试人

软件测试

Wireshark中的TCP协议包分析

小齐写代码

【鸿蒙千帆起】高德地图携手HarmonyOS NEXT,开启智能出行新篇章

HarmonyOS开发者

HarmonyOS

深入剖析Java中的反射,由浅入深,层层剥离!

不在线第一只蜗牛

Java 编程 前端 开发语言

如何通过ETL实现快速同步美团订单信息

谷云科技RestCloud

美团 ETL 数据集成工具

云电脑超详细技术讲解

天翼云开发者社区

云计算 云电脑

云MySQL 主节点故障

腾讯云混沌演练平台

混沌工程 MySQL主节点故障

火山引擎边缘云2023年度回顾,挑战与创新的交响乐章

火山引擎边缘云

边缘计算 火山引擎 火山引擎边缘云

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