Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование кода при разработке в разных IDE, IDEA и Eclipse 
V
    Опции темы
Shurr
Дата 15.11.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 24.10.2006

Репутация: нет
Всего: 7



Подскажите, как организовать единое автоматическое форматирование кода, когда в команде используются две IDE: Eclipse и IDEA? В качестве VCS используется SVN.
SVN-сервер удаленный, и для дополнительного конфигурирования недоступен. 
Вариант "вручную нарисовать одинаковые конфиги для обоих форматтеров" если и реализуем (учитывая фирменные фишки и плюшки каждого из форматтеров) - все равно не очень интересен. Хотя если где-то есть уже готовые синхронизированные конфиги - возможен.


Это сообщение отредактировал(а) Shurr - 15.11.2009, 16:06
PM MAIL   Вверх
LSD
Дата 16.11.2009, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



Ну можно подумать что, форматирование это какой-то rocket science, отступы и расстановка скобок дают 90% форматирования.

Если хотите синхронные code convention, то ищите Sun Java coding convention. У IDEA по умолчанию именно они и используются. Для Eclipse тоже думаю, не проблема найти.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Samotnik
Дата 17.11.2009, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Shurr, есть конфигурационные файлы, для Затмения -  необходимо написать xml файл и загрузить его в IDE. (Этот xml  единый можно разослать всем участникам команды по скайп/аське, имейлу)  И после нажатий  Ctrl + A  =>  Ctrl + Alt + F весь файл станет одинаково отформатирован как у всех остальных.  Для IDEA вроде  xml нельзя подгрузить, но можно сделать принтскрин своих настроек и отослать всем.  
По умолчанию в обоих IDE форматирование настроено под Code Conventions for the Java Programming Language от 1999 20 Апреля.
Других путей не вижу  smile 
PM MAIL   Вверх
Shurr
Дата 19.11.2009, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 24.10.2006

Репутация: нет
Всего: 7



Samotnik,
Я об этом и писал:
Цитата(Shurr @  15.11.2009,  15:05 Найти цитируемый пост)
Вариант "вручную нарисовать одинаковые конфиги для обоих форматтеров" ... не очень интересен.
IDEA тоже хранит настройки форматтера в XML, так что с распространением проблем нет, вопрос именно в создании одинаковых конфигураций для разных IDE.

LSD
В принципе, конечно, не rocket science, но здесь вся суть в мелочах. Т.е. если два форматтера работают чуть-чуть по разному, то при изменении класса в другой IDE появляются мелкие мусорные правки, которые не имеют отношения к логике внесенных разработчиком изменений.
В данный момент ситуация выглядит так, что даже конфигурации заточенные под Sun Java coding convention разные форматтеры понимают немного по-разному. Т.е. не так, чтобы различия проявлялись в каждом классе, но в масштабах проекта хватает.
Поэтому, собственно, и хотелось услышать альтернативные варианты.
PM MAIL   Вверх
LSD
Дата 19.11.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



1. Зачем при внесении изменений, разработчику переформатировать весь класс?
2. Они так и так будут, т.к. есть некоторые виды форматирования которые специфичны для каждой IDE.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
polosatij
  Дата 19.11.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



Цитата(Samotnik @  16.11.2009,  23:07 Найти цитируемый пост)
 И после нажатий  Ctrl + A  =>  Ctrl + Alt + F весь файл станет одинаково отформатирован как у всех остальных.


даааааааааа.. 
он так будет отформатирован, что будешь форматировать заного свой код.

пс: кодовое слово:

1). строка больше чем 80 или 120 символов не форматируется коректно
2). параметры с анотациями прерываются не там где надо

и тут ещё с десяток похожих трабл.

-----------

мы решили пока эту траблу тем, что залили в репозиторий некий конфиг еклипса + описали установки в вики; для тех, кто работает с IDEA написали тоже форматтер. для остальных случаев мы применяем PMD + CheckStyle. на CheckStyle народ забивает и приходится постоянно всех пинать. PMD же жёско не собирает проект, пока не будет что-то исправлено. конечно, его можно отключить, но тут уже начинаются "угрозы" со стороны товарищей, которые уже сами пинают или поправляют код, если кто-то залил не по установкам. я планирую на будущее ввести "Ява 5" в PMD, если это возможно, а также прикрутить жёско CheckStyle и поставить границы после которых код собираться, как и PMD не будет.

форматирование - это ещё только первая трабла. PMD показывает на следующие существующие угрозы в проекте.


--------------------
PM   Вверх
Shurr
Дата 19.11.2009, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 24.10.2006

Репутация: нет
Всего: 7



Цитата(LSD @  19.11.2009,  14:17 Найти цитируемый пост)
1. Зачем при внесении изменений, разработчику переформатировать весь класс?
2. Они так и так будут, т.к. есть некоторые виды форматирования которые специфичны для каждой IDE.

1. По идее для поддержания единого стиля у всех должно быть включено автоматическое форматирование, поэтому при сохранении класса он будет переформатирован вне зависимости от желания разработчика.

2. Для примера - есть Jindent, который подключается в качестве плагина и к Eclipse, и к IDEA; вроде обещают одинаковое форматирование. Но он, к сожалению, платный.
PM MAIL   Вверх
Samotnik
Дата 26.11.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 3
Всего: 191



Цитата(polosatij @  19.11.2009,  16:33 Найти цитируемый пост)
даааааааааа.. 
он так будет отформатирован, что будешь форматировать заного свой код.

пс: кодовое слово:

1). строка больше чем 80 или 120 символов не форматируется коректно
2). параметры с анотациями прерываются не там где надо

и тут ещё с десяток похожих трабл.

странно ....
Мы на прошлом проекте, насторили IDEA  для форматирования, и такоим образом форматили код, в котором было под 1000 строк кода в файлах. и ниразу такого небыло.  Заказчики были очень придирчивы к оформлению, и ниразу от них жалоб не поступало ... 
PM MAIL   Вверх
Shurr
Дата 1.12.2009, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 24.10.2006

Репутация: нет
Всего: 7



Вопрос решен применением плагина "External Code Formatter" в IDEA. Плагин подерживает любой command-line форматтер, в т.ч. от Eclipse. 
Прелесть этого плагина в том, что он, в отличие от других плагинов-форматтеров, заменяет собой родной форматтер IDEA, а не просто добавляет новый action. Соответственно, при установленной галке "Reformat Code" в диалоге коммита происходит форматирование именно внешним форматтером, что и требовалось.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0774 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.