等号中的空格
Spaces in equal signs
我只是想知道删除等号前后的空格在性能上是否有差异。就像这两个代码片段。
第一
int i = 0;
第二
int i=0;
我正在使用第一个,但我正在学习html/javascript的朋友告诉我,我的编码效率低下。在html/javascript中是真的吗?这是性能的巨大提升吗?在 C++/C# 和其他编程语言中也会一样吗?关于缩进,他说 3 个空格更好。但是我已经习惯了这样的代码。所以我只想知道他是否正确。
你的朋友有点误入歧途。
代码中多余的空格会对JS文件的大小产生很小的差异,这可能会对下载速度产生很小的影响,尽管如果它很明显或有意义,我会感到惊讶。
额外的空格不太可能在解析文件的时间上产生有意义的差异。
解析文件后,多余的空格不会对执行速度产生任何影响,因为它们不是解析的代码的一部分。
如果您真的想优化下载或解析速度,那么这样做的方法是以最易读的方式编写代码以获得最佳可维护性,然后对部署的代码使用最小化器,这是许多网站的标准做法。 这将为您提供两全其美的优势 - 可维护、可读的代码和最小部署大小。
最小化器将删除所有不必要的间距,缩短变量的名称,删除注释,折叠行等......所有这些都旨在使部署的代码尽可能小,而不会更改代码的运行时含义。
C++是一种编译语言。 因此,只有开发人员使用的编译器才能看到任何多余的空格(与注释相同)。 一旦代码被编译为最终用户获取和运行的本机代码,这些空格就会消失。 因此,关于线条中元素之间的空格的问题根本不适用于C++。
Javascript是一种解释型语言。 这意味着源代码被下载到浏览器,然后浏览器在运行时将代码解析为解释器可以运行的某种操作码形式。 Javascript 中的空格将成为下载代码的一部分(如果您不使用最小化器来删除它们),但是一旦代码被解析,这些额外的空格就不是代码运行时性能的一部分。 因此,空间可能对下载时间产生很小的影响,对解析时间的影响可能更小(尽管我猜测不太可能是可测量的或有意义的)。 正如我上面所说,针对 Javascript 优化这一点的方法是使用空格来增强源代码中的可读性,然后在代码上运行最小化器以生成代码的部署版本,以最小化文件的部署大小。 这样可以保持最大的可读性并最小化下载大小。
性能差异很小(javascript)到没有(c#,c ++,Java)。 特别是在编译语言中,源代码编译为完全相同的机器代码。
使用空格而不是制表符可能是一个好主意,但不是因为性能。 相反,如果你不小心,使用制表符可能会导致"制表符腐烂",即某些地方有制表符,而另一些地方有空格,源代码的缩进取决于你的制表符设置,使其难以阅读。
- 我如何找到一个句子中的所有空格并替换忽略它们
- Regex代码只允许一个空格
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 用空格替换下划线PHP
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 当没有文本输入聚焦时检测空格键按下
- 一个密码测试程序,如果存在空格,它会提醒用户
- 在谷歌应用程序脚本中转换为空格的制表符
- 如何将字符串拆分为字符,但在javascript中保留空格
- Jquery:如何获取所选选项全文(带空格)
- 用空格替换+
- regex表示逗号,后跟空格或仅逗号
- Javascript Regexp-不接受空格,但应该接受
- 如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容
- 如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)
- JavaScript从字符串中删除尾随空格和句点
- 选择带有空格分隔单词的元素
- 连接字符串时如何留出空格
- 正则表达式搜索一个空格,后跟一个字符