这个问题(和你的答案)引用了史蒂文斯的测量水平理论。 该线程可能不是对该(旧)理论进行批判性评估的地方,该理论随后被发现在许多(但不是全部)应用中是有限的并且适得其反。然而,这个问题隐含地表明,该理论将为软件设计和开发提供基础,最有可能作为类继承的方案。
也许它会起作用,但我认为不会。
拥有一个抽象的通用或基本数据类,所有其他人都将从中继承,并提供一些用于测试相等性、打印值等的默认方法是有意义的。随意将其称为“名义”类。从这个意义上说,上述问题的答案是“是”,您可以将每种数据类型(至少)视为名义上的。但接下来呢?让我们考虑一下以下类型的数据可能在 Stevens 的分类法中的正确位置以及可能对软件设计产生的影响:
相对方向:这些是有序的,但不是完全有序的,它们享有大量连续的有意义的变换(旋转)。缺乏全序阻止了它们是有序的,但它们享受区间数据的所有其他属性。
地理位置:它们之间的距离是有意义的,但大多数转换都没有。因此,史蒂文斯认为,它们似乎是名义上的和间隔的,但不是两者兼而有之。
图像数据:再一次,多种距离是有意义的。没有内在的排序。不过,各种形式的转换和比较可以说使这些数据形式比比率数据更复杂、更丰富。(代表整个比率数据字段的图像呢?)
复数,表示平面上的位置或其欧几里得变换。比比率数据更丰富,但没有排序。
区间值数据,表示删失数据和仅已知位于明确界限之间的数据。这些是否应该继承它们所代表的范围(序数或比率)的数据类型,或者考虑到即使不等式测试通常是不确定的,它们是否应该被视为纯粹是名义上的(这将剥夺它们包含的几乎所有信息)?
百分比和计数比率。这些数字具有史蒂文斯所有类型的一些特征以及它们自己的特性。它们显然不符合区间或比率数据的条件,但将它们作为此类数据处理是司空见惯的(并且在分析中可能是有效的)。
这些和其他示例表明,在 Stevens 分类法上强制使用层次结构或使用它来设计表示数据的类将受到限制。
另一个问题 - 一个大问题 - 将 Stevens 的分类法视为一个层次结构是它并非如此。例如,纯粹有序的数据通常可以分析为区间或比率(例如,使用有序逻辑回归)。因此,如果您想支持有效的数据分析,则不得强迫用户查看某一级别的数据,也不应任意或不必要地根据数据分配的级别限制可以对数据执行的操作。
您要做的一件事是确保用于编码名义值(“因子”)的内部表示永远不会与实际数字混淆。这是许多系统用户犯的一个基本错误,他们使用数字代码来表示因子,但随后允许使用(如回归)计算这些代码,就好像它们的实际值是有意义的一样。我不认为这是类设计或将数据置于层次结构中的问题。更好的查看方式可能是将语义标签附加到数据上,以提供有关其正确使用、显示或解释的线索。
因为这个问题没有表达设计目标,所以不可能提出替代方案,但忽略 Stevens 方法似乎是明智的,除非该软件旨在限制其使用的数据的可用性。相反,使用良好的工程实践进行软件设计:从清楚地说明软件的目的以及如何使用它开始。它必须存储和管理哪些类型的数据?它需要对这些数据执行哪些类型的操作?它必须可扩展到什么程度?哪些性能要求可能会限制内部数据表示的方法?依此类推……与试图坚持史蒂文斯(或其他任何人)的系统相比,这条调查路线将更有意义,也更有成效。