【问题标题】:What do "transparent" and "opaque" mean when applied to programming concepts?当应用于编程概念时,“透明”和“不透明”是什么意思?
【发布时间】:2013-06-27 08:48:30
【问题描述】:

让我最困惑的两个编程术语是 transparentopaque。它们相当常用,但我从未完全清楚它们的含义。

Google 提供了大量使用“透明”一词的示例,例如:

还有一堆“不透明”的结果,主要与 C 概念有关:

虽然我也见过这个词用在与 C 无关的上下文中。

抛开它们在“不透明指针”等特定复合术语中的使用不谈,透明不透明这两个词在编程领域有什么意义?它们甚至是彼此的对立面,就像它们隐喻地暗示的视觉概念一样,还是彼此无关?

【问题讨论】:

    标签: language-agnostic terminology


    【解决方案1】:

    在您给出的示例中,transparent 被用来表示 隐藏 在幕后自动发生的事情的意义上(即没有代码的用户或程序必须交互)。

    不透明也被用来表示隐藏,这可能是混淆的地方。术语不透明类型有一个@987654321 @,它指的是已声明但尚未定义的类型。

    在这两种情况下,我认为人们都在使用这些术语来表达缺乏可见性。 透明 用于存在某些东西但您看不到它的地方。 不透明 用于存在某物但您无法看到内部以检查其内部运作的地方。

    【讨论】:

    • 可能是这样,但我想说每个将隐藏机制描述为透明的人都错误地使用了这个词,而应该真正使用不透明这个词。
    • @Distortum 透明意味着它对观察者的眼睛是不可见的。例如,软件系统的更新发生在最终用户没有注意到它的情况下,或者在通过代理时与 api 通信的系统。在这种情况下,更新过程和代理是透明的,因为它们对观察者不存在。
    • @kalitsov 问题是透明这个词的使用与该词的正常使用方式相反。例如。 Merriam-Webster 将透明定义为:1. 易于理解 2. 以信息的可见性或可访问性为特征,尤其是与商业惯例有关的信息
    猜你喜欢
    • 1970-01-01
    • 2012-02-27
    • 2022-01-02
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 2012-05-05
    • 2021-11-25
    相关资源
    最近更新 更多