我在互联网上看到这个术语很多(事实上,在google上输入它会返回很多结果)。
“实施细节”的确切定义是什么?
答案 0 :(得分:24)
这是代码产生的行为,可能通过使用代码来依赖它,尽管代码写入的规范没有指定该行为。因此,相同规范的其他实现可能不会表现出相同的行为,并且会破坏消费代码。这就是为什么依靠它们是不好的。
例如,如果您要针对指定数组排序的列表接口编写一些代码但不使用它所使用的算法,并且您需要排序方法为stable,并且您的代码版本为与非稳定排序算法一起使用,那么你的代码就会中断。
答案 1 :(得分:19)
我不知道“实施细节”这个术语的确切正式定义,它通常是指某个规范的具体实现。
以List
为例。
List
的规范可能会说“它可以在保留顺序的同时保留多个重复值。”
从上面可以看出,它没有提到List
使用什么样的支持数据结构 - 我们所知道的,它可能是一个数组或一个链表。这实际上是一个实现细节,实际上是由List
的实现者完成的。
答案 2 :(得分:9)
“实现细节”是由开发人员做出的决定,并未在较早的级别(例如需求文档或根据上下文,架构文档)指定。