align/indent 为多行 JS 对象编写代码的最佳方式?

Best way to align/indent code for a multiline JS object?

是否有'best way'或'standard way'来对齐JS对象?

这里有一些不同的例子:

对齐键

        var boundBox = {x: click.x - boundBoxDefaultSize/2,
                        y: click.y - boundBoxDefaultSize/2,
                        width: boundBoxDefaultSize,
                        height: boundBoxDefaultSize }

冒号对齐

        var boundBox = {x: click.x - boundBoxDefaultSize/2,
                        y: click.y - boundBoxDefaultSize/2,
                    width: boundBoxDefaultSize,
                   height: boundBoxDefaultSize }

一行

        var boundBox = {x: click.x - boundBoxDefaultSize/2, y: click.y - boundBoxDefaultSize/2, width: boundBoxDefaultSize, height: boundBoxDefaultSize }

一行(足够时)就可以了,排列键也是如此。我从未见过在冒号上排队。如果你想要更多的结构,更好地排列键和值:

        var boundBox = {x:      click.x - boundBoxDefaultSize/2,
                        y:      click.y - boundBoxDefaultSize/2,
                        width:  boundBoxDefaultSize,
                        height: boundBoxDefaultSize };

请注意,通常在多行文字的大括号周围使用换行符,使其看起来不像 LISP 而更像一个块:

        var boundBox = {
            x:      click.x - boundBoxDefaultSize/2,
            y:      click.y - boundBoxDefaultSize/2,
            width:  boundBoxDefaultSize,
            height: boundBoxDefaultSize
        };

大多数代码都是这样对齐对象的:

var boundBox = {
      x: click.x - boundBoxDefaultSize/2,
      y: click.y - boundBoxDefaultSize/2,
      width: boundBoxDefaultSize,
      height: boundBoxDefaultSize 
}

如果足够短,可以全部放在一行上:

 var boundBox = {x:x, y:y}

希望对你有帮助。

我强烈推荐你这个风格指南https://github.com/airbnb/javascript

因此,您的代码应如下所示:

var boundBox = {
  x: click.x - boundBoxDefaultSize/2,
  y: click.y - boundBoxDefaultSize/2,
  width: boundBoxDefaultSize,
  height: boundBoxDefaultSize
};