例如,非垂直对齐:
Name: Hamt
Version: 0.1.0
Cabal-Version: >= 1.2
License: BSD3
Author: Jason Baker
或垂直对齐:
Name: Hamt
Version: 0.1.0
Cabal-Version: >= 1.2
License: BSD3
Author: Jason Baker
你更偏向于哪个,为什么?
例如,非垂直对齐:
Name: Hamt
Version: 0.1.0
Cabal-Version: >= 1.2
License: BSD3
Author: Jason Baker
或垂直对齐:
Name: Hamt
Version: 0.1.0
Cabal-Version: >= 1.2
License: BSD3
Author: Jason Baker
你更偏向于哪个,为什么?
Answers:
就我个人而言,我认为该代码的第二个版本在某种程度上更具可读性,但是我不认为对其进行维护可以弥补这种可读性。因此,如果我相当确定代码不会更改,则仅使用此示例的第二个版本。
这是列表布局的另一个变体,它基于我在人机交互方面的一门大学课程以及我已经阅读的有关(G)UI设计和图形设计的几本书的经验和教育而来。我将其用于对话框,并且当我精力充沛/时间充足时,将其用于CSS(尽管通常不用于代码)。
Name : Hamt
Version : 0.1.0
Cabal-Version : >= 1.2
License : BSD3
Author : Jason Baker
像其他所有人一样,它也有其优点和缺点。
优点:
缺点:
高温超导
我更喜欢第一个,但是没有选项卡(我想是空白);而是一个空格。对我来说,在给定情况下数据不是“相似”时,更容易阅读。这也使“误读一行”变得更加困难(在编辑此类数据时),即当您拥有三行时,例如版本号。然后在编辑一个时,您不小心在该位置编辑了另一个。
但是,当数据相似时,就像在第二个示例中一样,将其放在列中是很有意义的(只是没有相似之处,但是您明白了)。
不幸的是,这是一个样式问题,这是非常主观的,您可能会得出许多相互矛盾的结果。此外,要使用的样式在很大程度上取决于TAB或空格的使用。
至于我的两分钱,我更喜欢第二个版本的变体。我最喜欢这个:
Name : Hamt
Version : 0.1.0
Cabal-Version : >= 1.2
License : BSD3
Author : Jason Baker
这是我尝试过的最易读和易于使用的版本。唯一真正的缺点是,我必须弄清楚最宽的字段是什么,有时当一个字段太宽时最终不得不全部展开(这通常仅在CSS中发生)。但是,有几点需要考虑。
首先,我通常更喜欢使用TAB而不是空格,但是实际的TAB设置会有所不同。例如,对于C(++)代码或HTML,我习惯于4位TAB,对于Pascal或汇编代码,我习惯于2位TAB,而对于CSS之类的东西,我对TAB宽度没有偏好。这种变化使事情变得足够复杂,但是随后我使用的编辑器却带来了其自身的复杂性。有些编辑器允许您设置每种语言的TAB设置,但有些则不需要(甚至有些具有不同的配置文件)。
您可以通过放弃使用TAB而不使用空格来避免这种复杂情况。由于代码通常采用固定宽度的字体,因此使用空格可以很好地工作,而如果您以表单,简历或其他非代码文本格式设置字段的格式并使用比例字体,则需要使用TAB来使内容对齐。
我通常更喜欢TAB,因为即使使用固定宽度的代码,我也不得不为每个TAB游历几个空格而感到沮丧。我记得旧的Borland IDE可以选择将TAB(特别是空白的整个长度)作为单个实体而不是两个,四个等空间来游标。这使得将TAB插入为空格非常实用,同时使光标导航变得轻松快捷。不幸的是,我还没有看到任何现代的Windows编辑器可以做到这一点。
最后,其他人是否会使用您的代码在样式选择方面起着很大的作用。我通常是唯一使用我的代码的人,因此我可以根据自己的喜好格式化所有内容,而无需考虑其他人的编辑器或设置。如果您正在与他人合作,则需要考虑他们,因为他们需要考虑您。
总之,可读性很好,非常可取,但是,您和其他需要使用代码的设置和编辑器在做出决定时很重要。如果您是一个人,则最好只使用最易读的格式。您可能需要习惯使用它,但是从长远来看,它可能会有所回报,尤其是当您需要回到前一段时间编写的代码时:可读性与注释对于理解代码的作用一样重要。如果您与其他人一起工作,那么您将希望共同制定某种设计指南以供团队使用。
:%s/\([^ ]\) \+/\1 /g