java中的嵌套多行注释
在编写实验代码时,我发现一次注释掉整个代码块非常有用。但是,我在Java中找不到一种合理的方法来实现这一点,因为我最终经常会将嵌套的块注释掉。
在C或C#中,这很容易使用#if 0
或#if false
我似乎在Java中找不到任何类似的东西--任何帮助都将不胜感激。谢谢!
解决方案
我假设您出于调试或测试目的想要注释掉嵌套代码,对吗?因为在生产代码中留下大量注释掉的代码块通常被认为是非常糟糕的风格。
嵌套注释本身不是java的特性。那么你能做什么呢?以下是一些不同的选项:
劈开劈开评论嵌套我能想到的最好方法就是使用一个编辑器,这个编辑器有一个热键可以用来对整个挡路代码进行斜杠评论,因为//可以嵌套。Eclipse和NetBeans都支持这种支持,尽管在IDE之间它的工作方式略有不同,只要它决定在评论和嵌套之间进行切换。通常情况下,只要选择的内容不同,就可以进行//评论的嵌套。
第三方预处理器也就是说,J2ME在Eclipse中使用了预处理器,但我认为这对桌面java没有帮助。如果您搜索一下,似乎确实有为Eclipse编写或与Eclipse兼容的other preprocessors。然而,这肯定会阻碍可移植性,因为这不是标准的java功能。
修改注释我经常为快速嵌套注释需要做的另一件事(在CSS中更多,它不做//注释,而不是java)是在结束内部注释的最后两个字符之间添加一个空格*/
,这样java就不会在内部注释的末尾结束外部注释。恢复原始评论并不太困难(但有点手动)。根据其模式匹配的方式,解析器通常会忽略嵌套的/*
。例如/*code/*嵌套注释*/更多代码*/`
使用版本控制您还可以轻松地使用几乎任何版本控制系统来保存包含要删除的代码的代码副本。然后使用版本控制Restore/Diff/Merge将删除的代码取回。一般来说,这种解决方案被认为是最好的风格。特别是在此注释掉的代码需要长时间保持原样的情况下。
if(False)如果您要批量执行的代码阻止同时运行编译和在单个函数内,您可以轻松地禁用它,方法是在其周围添加一条IF语句,说明条件永远不会为真,例如if (false) { ... }
显然,这永远不会通过任何lint类型的代码检查工具,但它是快速而简单的;-)
相关文章