Answers:
存根方法是仅返回简单但有效(但不一定正确)结果的方法。
它们通常是在构建基础结构时制作的,您现在不想花时间在所需的每种方法上。相反,您可以创建存根,以便所有内容都能编译,并且IDE的自动完成功能可以知道您计划使用的方法。
使用存根的另一个地方是在测试时进行模拟,您可以通过依赖项注入提供存根方法,而不是普通的依赖项,它们会返回固定的结果,然后确保代码对其执行正确的操作。这将测试与您要测试的代码隔离开,这意味着您无需为了运行这些测试而启动数据库。
也许最好用一个具体的例子来回答。让我们考虑创建桌面应用程序的情况。你决定有一个名为功能createMenubar
,createToolbar
并且createMain
让你的应用程序的构造是干净整洁。
您的主要代码如下所示(此示例在python中):
class ExampleApp():
def __init__(self):
self.createMenubar()
self.createToolbar()
self.createMain()
在一切正常运行之前,您的主要功能将失败,那么如何在开发过程中测试您的应用程序?例如,如果您开始使用createMenubar
,则在创建菜单栏后初始化将失败,因为您尚未实现GUI的工具栏或主区域。
这就是存根的所在。您可以创建一个名为的函数createToolbar
,createMain
该函数可以满足应用程序构造函数的要求(即,这些函数存在),而无需实际实现。这些功能是存根:
def createToolbar():
pass
def createMain():
pass
有了这些存根,您就可以开始实现主程序和菜单栏,而不必担心工具栏或程序主要部分的细节。最终,您将转到工具栏,然后将存根替换为实际功能。最后,您将删除的存根,createMain
并提供一个实际的实现。
请注意,存根不一定无所事事。例如,这些存根可以创建一个空的容器小部件,应用程序构造函数可以对其进行布局。关键是,您创建的虚拟函数或对象的作用足以使其他代码在开发过程中运行。随着时间的流逝,您将一个一个地替换存根,直到您的应用程序完成。