2013-02-18 2 views
5

Нашего проект содержит много заявлений в методе построения цепочки беглого стиля:Настроить контрольный стиль для цепочки методов?

int totalCount = ((Number) em 
     .createQuery("select count(up) from UserPermission up where " + 
      "up.database.id = :dbId and " + 
      "up.user.id <> :currentUserId ") 
     .setParameter("dbId", cmd.getDatabaseId()) 
     .setParameter("currentUserId", currentUser.getId()) 
     .getSingleResult()) 
     .intValue(); 

Я получил Checkstyle в основном настроен в соответствии с нашим существующим стилем кода, но теперь он терпит неудачу на этих фрагментах, предпочитая вместо этого:

int totalCount = ((Number) em 
     .createQuery("select count(up) from UserPermission up where " + 
      "up.database.id = :dbId and " + 
      "up.user.id <> :currentUserId ") 
      .setParameter("dbId", cmd.getDatabaseId()) 
       .setParameter("currentUserId", currentUser.getId()) 
        .getSingleResult()) 
         .intValue(); 

Что совершенно неуместно. В любом случае, чтобы настроить checkstyle, чтобы принять стиль цепочки метода? Есть ли альтернативный инструмент, который я могу запустить с maven для принудительного ввода такого отступа?

+5

Я предлагаю добавить текущую конфигурацию checkstyle к вопросу. – Piotr

+0

Также мне представляется разумным отформатировать его вторым способом. Я считаю, что первая версия очень трудно читать. –

+0

@Martin Второй способ нежелателен для цепочки сообщений, потому что кажется, что вы всегда что-то делаете над новым возвращенным объектом, в то время как объект, о котором идет речь, всегда один и тот же. Представьте еще пять прикованных методов, и перед каждым новым методом у вас будет много пробелов. В первой версии ясно, что каждый новый метод начинается на одном уровне. +1 для конфигурации. –

ответ

-1

Я никогда не занимался этой работой в Eclipse, поэтому мы едва использовали Source Source. В конце концов, лучше всего распространять. Мы очень старались и терпели неудачу. Это было полтора года назад. В конце мы используем текст форматирования только в Eclipse, выбрав строку или преформат перед форматированием вручную.

Обычно формирование, сделанное инженером, имеет определенное значение. И поэтому автоматический формат никогда не будет работать. Особенно, если вы делаете что-то вроде

public static void myMethod( int value, String value2, String value3)

Если вы Автоформат это он не похож на ваш пример.

Так что не стесняйтесь присоединяться к клубу, не используя автоматическое форматирование, в качестве шага, прежде чем отформатировать его по-человечески.

+0

Это работает нормально, если вы никогда не присоединяетесь к строкам, которые * являются * настройкой в ​​Eclipse. Тем не менее, я не знаю об одном методе. –

+0

Хотя это интересный пост, похоже, что не нужно настраивать контрольный стиль. –

-2

с intellij, это можно сделать, выбрав «align when multiline» в случае «вызова цепи метода», поэтому я предполагаю, что это свойство неправильно сконфигурировано в конфигурациях.