子类化错误、面向对象编程及防止此类错误的可机械验证规则
编程语言
2007-05-23 v1 软件工程
摘要
本文考虑一个面向对象编程(OOP)导致破坏接口与实现分离的微妙错误的示例。防止此类错误的完备原则是不可判定的。本文引入一组可机械验证的规则来防止这些隐蔽问题。尽管这些规则看似严格,但正如我们在几个常见示例中所展示的,它们强大且富有表现力。这些规则无论在精神还是字面上都与OOP相悖。当前的示例以及可得的理论与实验结果提出了一个问题:OOP究竟是否有助于软件开发。
引用
@article{arxiv.cs/0301032,
title = {Subclassing errors, OOP, and practically checkable rules to prevent them},
author = {Oleg Kiselyov},
journal= {arXiv preprint arXiv:cs/0301032},
year = {2007}
}
备注
10 pages, 1 LaTeX file; accompanying C++ and Haskell code and compilation instructions