多行注释与单行注释

7

我记得在一份JavaScript教程中读到过,一般最好避免使用单行注释,以防将来有人决定压缩文件并删除所有空格。

在PHP中是否也适用同样的方法?即使只占用一行,我是否应该使用多行注释,例如:

echo $var; /*This code echoes a variable*/ 

在这种情况下使用单行注释是否合适?

PHP文件是否会通过删除空格进行压缩,还是这有点过分?


4
你能提供一下你获取这些信息的参考链接吗?任何压缩空格的人都应该意识到并不是所有的空格都可以被移除,有很多事情可能会出错。当然,在进行此类操作之前需要完全删除注释。 - Wesley Murch
顺便说一句:是的,有时人们会压缩或混淆PHP代码,但很少这样做。 - Wesley Murch
抱歉回复晚了,网站是:http://dev.opera.com/articles/view/javascript-best-practices/#comments具体来说: 当有重要事情需要说时,请添加注释,并且如果您确实需要添加注释,请使用 /* */ 符号。使用 // 的单行注释可能会在人们未剥离注释的情况下压缩代码时出现问题,并且通常不太灵活。 - Sean
如果你问我,“缩小代码而不剥夺注释”是一个悖论。我尊重 Opera,他们有很好的参考和最佳实践,但这充其量是一种偏执狂。话虽如此,遵循建议也没有问题。 - Wesley Murch
2个回答

5
在这种情况下使用单行注释没问题。
简单来说:是的。 如果有人压缩空格并打破你的代码,那是他们没有做好的错误。
任何值得使用的PHP或JS源代码压缩器都应该足够聪明,知道什么可以删除,什么不应该碰,并且所有注释通常都会被剥离,所以这不是一个相关问题。你不应该围绕这些事情编码。
我唯一想到避免单行注释的实际原因是,当你在Windows和*NIX服务器之间切换时,有时会出现行结束符的问题。如果你在使用Windows样式的换行符,并且你的文件在*NIX服务器上保留它们,你的单行注释将最终注释掉你的实际代码,弄乱一切。 /*像这样的注释*/ 不会影响任何东西。例子:
$var = 'Hello'; // Say hello
echo $var;

使用Windows样式的\r\n换行符上传到UNIX服务器:

$var = 'Hello'; // Say helloecho $var;

如果你运行它,可能会执行一些意外的、危险的代码。

然而:如果发生这种情况,那么它是另一个问题的症状,应该解决。我有几次遇到过这种情况,所以我知道这是可能的。许多FTP客户端都会自动转换换行符。

因此,实际上:使用单行注释是可以的。 注释是给作者看的,而不是编译器或解析器。


0

通过折叠空格来压缩 PHP 脚本实际上可能是不好的,因为 1)它可能会改变 HTML 呈现给浏览器的方式,导致布局差异,2)一些功能,比如 x 拖延到 preg_*(),需要保持空白不变。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接