经常听到人们为了使用两个空格作为缩进还是四个空格作为缩进而争论,我想也许我们可以开辟第三条道路出来。根据上下文不同而产生不同的缩进美学。一些 rationale:对于比较短小的函数我们不希望它内部的缩进太大;对于同一个类下面的函数它们的缩进不一定要一致;比较相近的函数(形式上相近或者逻辑上相近)我们希望它们的缩进相似( proximity );比较不同的函数我们希望它们缩进不一致;构成同一个逻辑主体的多行代码我们希望它们缩进小一点( closure )。
一些试图创新的示例:
Fibonacci Indentation for Vim.
Applying the Gestalt Principles to your code