“ TODO自动生成的方法存根”是什么意思?[关闭]


9

我正在使用eclipse进行android编程,到处到处我都看到“ TODO自动生成的方法存根”语句。

我知道这些方法是在创建类和其他触发器活动时由eclipse自动生成的,但是我不了解在所有地方都提到它的必要性。

有什么地方需要反复提到它?


1
如果您不喜欢,可以在Eclipse中更改模板
DPM

3
这个问题似乎不合时宜,因为它没有显示出对所使用的IDE的最低理解。
Jim G.

Answers:


9

TODO是指示要在Eclipse中执行的任务的几个默认关键字之一。在windows->首选项-> Java->编译器->任务标签下,您应该看到这些关键字。可以考虑使用此关键字添加注释以自动指示尚待完成的事情,如果您使用这些任务标签,这将很方便。

但是,如果不使用它们,则应修改代码模板(首选项-> Java->代码样式->代码模板)以消除这些注释。

特别是:

  • 代码->方法主体
  • 代码->构造函数体
  • 代码->挡块体

5
它不仅仅是支持TODO注释的Eclipse-NetBeans,Visual Studio,JetBrains等,还提供了从TODO样式的注释中提取的任务列表功能。此外,这不能回答所提出的问题-TODO样式注释的含义以及它的价值。
Thomas Owens

2
我更喜欢Visual Studio的(ReSharpers?)生成存根的行为,throw new NotImplementedException();因为存根对于遗忘者而言比静默失败的空方法要难得多。
Dan在火光旁摆弄

1
@ThomasOwens他将eclipse命名为,而不是NetBeans,Visual Studio,JetBrains等。另外,这正是TODO的含义及其用法。
Neil 2013年

1
@DanNeely我也很喜欢,这就是为什么我在Eclipse中自动生成的代码模板如下所示:throw new UnsupportedOperationException("Auto-generated method stub"); // TODO Auto-generated method stub
Simon Lehmann 2013年

16

Eclipse仅创建返回null的空方法(因此为“ stub”)。插入这些注释是为了提醒开发人员,他可能会想要在这些方法中执行某些操作,否则为什么应该存在它们?完成后,您应该删除评论。

如果到处都看到这些注释,则开发人员(如果实际上包含实现)很懒惰,或者认为注释还有其他用途,因此不要删除它们,或者这表明设计很差,通常是接口太大,并且实现(和用户)实际上并未使用界面中的所有方法。


7

许多IDE(包括Eclipse)在注释中使用“ TODO”来生成任务列表。这些任务列表包括注释的文本以及注释所在的文件和方法。这使使用具有此功能的工具的每个人都可以生成仍处于打开状态的事物的列表。还有一些其他通用标识符,例如FIXME或XXX,在某些IDE中具有类似的功能。关于Stack Overflow的这个问题询问Eclipse中的comment关键字,并提供了一些其他信息。

当您自动生成某些函数时,预计您将插入自己的实现。它添加了适当的存根,以便您的代码可以编译,但是添加了注释,以便您可以快速找到需要实现的方法。请注意,某些自动生成的函数(例如自动生成的toStringhashcode函数)不包含这些注释,因为不希望您对其进行修改。

有很多方法可以通过编辑用于创建自动生成的代码的模板来禁用这些代码的插入,如果这样做会给您带来很大的麻烦。但是,它们很有用。如果在代码库中搜索诸如TODO和FIXME之类的内容,则可以将它们作为任务列表的基础,如果它们加上对需要完成的操作的良好注释,尤其是在较小的项目上。


4

TODO只是表示“待办事项”,已生成存根,但开发人员或程序员需要根据需要添加代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.