Checkstyle-大括号内的空白

时间:2018-09-12 12:14:24

标签: java checkstyle

我正在为我们的项目开发Checkstyle,但是遇到了无法解决的问题。

我需要检查是否在花括号内定义了一些数组元素的空白(在括号和元素之间)。

赞:

const obj1 = [{ext: '1287',ip: '(Unspecified)',queue: []}];
const obj2 = [{Queue: '222',Members: [{"ext":"1287"},{"ext":"4118"}],Callers: []},{Queue: '111',Members: [{"ext":"4131"},{"ext":"1287"},{"ext":"4138"}],Callers: []}];

const hasExt = ext => o2 => o2.Members.some(m => m.ext === ext)

const result = obj1.map(o1 => {
  const newQueue = obj2
    .filter(hasExt(o1.ext))
    .map(m => m.Queue);
    
  return { ...o1, queue: [...o1.queue, ...newQueue] };
})

console.log(result);

如果不存在,它将引发违规。

我是Checkstyle的新手,但找不到任何好的方法。

1 个答案:

答案 0 :(得分:0)

对于大多数没有直接检查规则的问题,您将可以(稍作努力)设置Checkstyle的正则表达式规则之一。

对于显示的情况,例如\{\s\s\},这可能来自琐碎的正则表达式,但可能变得更复杂,例如如果您有足够的元素在代码中包含换行符。同样,显示的琐碎规则也可能会在其他地方突出显示代码,而不是本来就没有。因此,需要使用正则表达式的知识来设置这些规则。

BTW:如果可能的话,我会使用Eclipse(或您使用的任何IDE)格式化程序解决此类间距问题。可以很容易地将其配置为在代码中的不同位置省略或放置空格。