有时,在编程工作中,会生成样板,在初学者要执行的任务周围放置导轨,等等,碰巧会给程序员显示未实现的代码,并告诉他们“填空”。例如,可能会编译但失败的单元测试,或带有空方法的类声明。

这种做法是否有一个通用术语?

评论

不完全是您的要求,而是相关的。如果还存在测试脚本,这些脚本显示了代码的预期功能,则称为测试驱动开发。

对于投票决定关闭的人:当然,“命名这个东西”可能不是一个特别有趣的问题。但是,此问题确实有一个客观答案,该答案并非主要基于观点。作为证明,我在下面介绍我的答案。

我会说“糟糕的编码实践”。

NotImplementedException :)

如果您正在谈论错误处理,那么“为读者运动”似乎是教科书中的方法。

#1 楼

您所指的是存根或骨架:
Stub
这通常是一个方法或函数,其主体为空,只返回一个虚拟值,因此代码将被编译。
Skeleton
这是一种已实现高级算法的方法,但是各个部分均未实现。它们可能是空的代码块,或者是最终将执行子任务的引用存根方法(请参见上文)。对于那些可能会为较大的设计工作而苦苦挣扎的初级程序员来说,这是一个表达软件设计的好方法,或者是在花太多时间在低级细节上之前确保您正确的算法。

使用这些代码元素的做法称为存根或创建代码框架。

评论


尽管我更喜欢您的术语,但我认为Ruby on Rails中的“脚手架”一词是相同的概念。

–装饰
16 Mar 9 '16 at 13:36

我还认为存根是正确的选择,但不确定,因为我在工作中受到别人的排斥。谢谢。

–布兰登·阿诺德(Brandon Arnold)
16 Mar 9 '16 at 15:29

如果在学术背景下完成的话,那是一个“存根”。在专业/商业背景下完成的,这就是“技术债务”。

–aroth
16 Mar 10 '16 at 5:09

@aroth如果代码不起作用,这不是技术债务-必须实施。技术债务意味着编写不良的代码最终会在生产环境中使用,这意味着需要付出巨大的努力才能正确重构。存根在理想情况下将具有失败的测试用例,因此必须先实施和测试它,然后再将其放到生产中。

–user22815
16 Mar 10 '16 at 5:13

@BrandonArnold:与您的大学交流时,您应该使用他们理解的词语。除非你是老板。

– Stig Hemmer
16 Mar 10 '16 at 8:39

#2 楼

我已经看到使用了“存根”一词。例如,我相信Eclipse会自动插入注释

 String getName() {
    // TODO: Auto-generated method stub
    return null;
}
 


到臭名昭著的自动生成的存根中。

还要注意在单元测试中术语“存根”的使用。

评论


我认为“ // TODO:自动生成的方法存根”。

–user253751
16-3-9在3:38



知道这一点绝对有用。 。 。

–布兰登·阿诺德(Brandon Arnold)
16 Mar 9 '16 at 15:30

#3 楼

在Visual Studio中,编写代码时,Intellisense将为您提供“生成新方法存根”选项。当您选择此选项时,Visual Studio会完全按照您的描述生成代码存根/骨架。