是否建议使用HTML或JavaScript的最大行长度?

时间:2010-05-22 01:44:20

标签: javascript html coding-style

大多数编程语言的大多数样式指南建议最大行长度,通常为80个字符。对于HTML和JavaScript(当它嵌入在HTML中时),这似乎是不切实际的缩写。对HTML / JavaScript的实际行长度限制是否有共识?或者它通常是由开发人员的常识决定的?

7 个答案:

答案 0 :(得分:28)

既然你提到了JavaScript,那么这就是Douglas Crockford对主题的看法:

  

避免使用超过80个字符的行。当一个陈述不适合单行时,可能需要打破它。在操作符之后放置中断,最好在逗号之后。在运算符之后的中断减少了分号插入掩盖复制粘贴错误的可能性。下一行应缩进8个空格。

     

来自:Code Conventions for the JavaScript Programming Language

答案 1 :(得分:11)

此限制似乎是古代 IBM打卡的遗产。 Why is 80 characters the 'standard' limit for code width?

我真的觉得很难处理HTML只有80个字符。它真的很快变得难以理解。所以我决定自己把 GitHub 的行长作为衡量标准。

根据操作系统和/或浏览器,似乎有不同的字符限制。但120应该是一个非常安全的价值。

  

在Ubuntu上:

     
      
  • Firefox:126
  •   
  • Opera 12.16:126
  •   
  • 铬:113
  •   
     

在OSX 10.9上:

     
      
  • Google Chrome:125
  •   
  • Firefox:122
  •   
  • Safari:121
  •   

来源:What is Github's character limit, or line length for viewing files on github?

另一方面,有时选择自己的标准是行不通的。为您的语言或框架编码标准或短语可能会迫使您坚持使用80个字符。在移动屏幕上阅读代码时至少可以提供帮助。

但是对于HTML我会将这个数字提升到120个字符。为了便于阅读。我的意思是想想所有类似CSS类的重型框架,比如Bootstrap,你的模板最终只有80个字符的长度? (除此之外,你最好选择Bourbon Neat,它不会污染你的大量课程的HTML。)

答案 2 :(得分:10)

谷歌称JS为500:https://developers.google.com/closure/compiler/faq#linefeeds

  

Closure Compiler故意每500次添加换行符   人物左右。防火墙和代理有时会损坏或忽略   大型JavaScript文件,行很长。每次添加换行符   500个字符可以防止出现此问题。

uglify --max-line-len 500或grunt-contrib-uglify options: { maxLineLen: 500 }

我不确定该限制是否适用于HTML或CSS,但我还没有看到我使用的任何CSS压缩器的选项。

SMTP规则适用于HTML电子邮件: https://www.ietf.org/rfc/rfc0821.txt

  

命令行的最大总长度,包括命令字   并且CRLF是512个字符。

答案 3 :(得分:7)

80个字符的行限制从没有大量空间的屏幕时代产生。现在它就像是为了便于阅读,因此可以并排打开两个(或更多)不同的代码文件,而无需滚动查看每个代码文件。

这些原因仍然适用于HTML和JavaScript,但显然没有必要遵守它们。所以这取决于你。

我同意使用HTML可能很难保持在这个限制内,尽管使用JavaScript它不应该是一个问题。

答案 4 :(得分:3)

线路长度的最大限制是您感觉阅读和编辑的舒适度。就个人而言,我的任何代码都不会被重写而不适合在屏幕上显示。

答案 5 :(得分:0)

如何将所有HTML放在一行?浏览器将如何应对?我读过一些浏览器(不记得是哪一个)打破长线的地方。

从文件中删除新行是一种优化技术。您不需要为客户端提供与开发时相同的易于阅读的版本。你可以给他们一个剥离版本。为什么?带宽不是免费的。

答案 6 :(得分:0)

许多“服务”(例如某些终端窗口实现, GitHub 等)将不会换行并没有滚动条。
因此,超过72或80个字符的任何内容都可以被截断。

此外,即使有滚动条,它也有助于提高可读性,如果代码适合(或主要适合)单个屏幕宽度,则代码更易于阅读/理解/调试。

因此,虽然代码将运行,但可能并不总是能够完整显示它。