您是否遵循在源代码中包装长行的标准?你觉得读起来最舒服的行长是多少?
有时我发现有人在宽屏显示器上编程,喜欢用它的全宽来显示源代码。我更喜欢较短的行数,大约 80-100 个字符,但我很难用越来越受欢迎的宽屏设备来说服同事。
编辑:
类似问题:
您是否遵循在源代码中包装长行的标准?你觉得读起来最舒服的行长是多少?
有时我发现有人在宽屏显示器上编程,喜欢用它的全宽来显示源代码。我更喜欢较短的行数,大约 80-100 个字符,但我很难用越来越受欢迎的宽屏设备来说服同事。
编辑:
类似问题:
不要损害关于一行中确切字符数的教条规则的可读性。水平滚动是不可取的,但 81 个字符的行比缩进混淆的换行版本更容易阅读。
80 characters is likely to be inadaquate for programming styles with large indentations and/or verbose variable names. Keep the amount of logical complexity down to a per-line maximum, not the number of characters.
我坚持 80 行规则(并试图说服每个人都这样做)。一些原因:
我更喜欢更长的行,原因很简单:我可以在窗口中放入更多代码。必须垂直滚动才能读取函数与能够将其放入单个屏幕之间存在巨大差异。如果所有内容都是换行的,以便函数从底部滚动而我的屏幕右半部分是空的,我认为这是一种巨大的浪费。请注意,在这里打开两个编辑器窗口也无济于事。
您不必水平滚动即可阅读代码。但更大的屏幕并不意味着更长的线路!一行中应该有多少也有限制。
所以我说:和往常一样保持在 70-80 个字符。更大的屏幕只是意味着 IDE 有更多的空间。
它还取决于您使用的其他约定。在一项工作中,我们使用 Java 进行编程,惯例是使用长且描述性的标识符,这意味着只有几个标识符可以放在一行中,而不会超过 80 个字符的限制。考虑到公司里的每个开发人员都得到了一个可以轻松容纳 200 个字符的宽屏显示器,我认为这非常愚蠢。有了这样的硬件一致性,强制执行一个愚蠢的小换行限制是没有意义的。
我们使用一行 80 个字符的编码标准。80 字符限制的最初原因与今天无关,但应该选择一些数字......
除了显而易见的(代码组织和可读性)之外,我通常发现长行是不良样式的结果,遵循这样的规则可以提高代码质量并减少错误。只需比较以下示例:
status = do_something();
if (status == error)
{
do_error_handling();
return;
}
/* do you regular flow */
status = do_more();
if (status == error)
{
do_error_handling();
return;
}
/* do more of you regular flow and keep you line 80 chars*/
反而 :
status = do_something();
if (status == succes)
{
/* do you regular flow */
status = do_more();
if (status == success)
{
/* do you regular flow */
/* nest again and get line behind visible screen */
}
else
{
/* do error handling */
}
}
else
{
/* do error handling */
}
第二个示例的可读性要低得多,难以维护,并且可能会导致一些问题......
编辑
在代码中替换goto
为do_error_handling()
以避免不相关的讨论。
正如我之前所说的 80 个字符与今天无关,它只是一个数字 100 也很好。
对于发现第二个示例更具可读性的任何人,请使用真实代码再嵌套几次,然后再次尝试阅读:)
更大的屏幕——更大的字体。Conslas
我在 1280x800 屏幕分辨率下使用 14pt 最大化的 GVim 。我尝试以大约 80-90% 的屏幕宽度换行。
我几乎只在笔记本电脑上编程,所以我同意较短的行。当然,我通常为 PDA 设计屏幕,所以我可以侥幸逃脱。但如果代码在开发人员之间共享,它最终会出现在某人的笔记本电脑上,滚动条让我哭泣。
我使用大约 72-75 列来确保我可以在字母格式的页面上打印代码而不会太麻烦。我也使用空格而不是制表符,并且对布局很小心。
为了注意我何时离开右边距,我经常输入一个可以用作标尺的文本行。我设置了 IDE 显示窗口,使标尺刚好适合水平宽度,然后我确保我不会超出它。
我在 .txt 文档以及 .c、.java、.cpp、批处理文件等中执行此操作。这使得在电子邮件中发送片段、在博客上发帖、发表评论等变得更容易。标尺通常是就在标识文件和文本格式的顶行下方:
/* example.txt 0.00 UTF-8 dh:2008-11-09
*---|----1----|----2----|----3----|----4----|----5----|----6----|----7----*
*/
当然,使用特定类型文件的注释约定。