2016-02-23 3 views
0

Мы работаем над большим унаследованным приложением. Самая старая база кода - от 20 до 30 лет. Многие разработчики работали над этим на протяжении многих лет, и использовались разные архитектуры и стили программирования. Большинство кода C#, некоторые C++ и очень мало VB6. Моя проблема в этом вопросе - это код C#.Как начать применять правила Resharper в большом унаследованном приложении

Как группа архитекторов, мы хотели бы очистить код и сделать его более удобным. Мы используем ReSharper с Visual Studio 2013 (скоро VS 2015). Некоторые разработчики заинтересованы в том, чтобы «сделать ReSharper happy» и не показывать предупреждения для файла исходного кода, в то время как другие даже не используют ReSharper или не игнорируют предупреждающие сообщения. Итак, мы решили, что единственный способ придерживаться единой команды - это проверить ее в сборке Continuous Integration и сбой, если все еще есть предупреждения ReSharper. Это очень хорошо работает на новых решениях, но в устаревшем коде оно может показывать десятки, если не сотни предупреждений в каждом классе. Если мы включим всю проверку правил на все файлы одновременно, наше программное обеспечение не будет создано в течение месяца.

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

Вопрос 1: Итак, как можно ввести проверку правил для большого унаследованного приложения? Мы используем TFS2013. Я узнал, что Team City имеет плагин ReSharper, который позволяет оставить старый код в покое и только проверить, что было изменено при регистрации. К сожалению, мы не имеем права менять наш Build-Server.
Вопрос 2: Но кто-нибудь знает, как работает плагин Team City?
Вопрос 3: Проверены ли все файлы измененных классифицированных или только те строки, которые были затронуты?
Вопрос 4: Как насчет правил, применимых к структуре класса (например, порядка публичных, защищенных и закрытых членов)?
Мне бы хотелось, чтобы что-то подобное было похоже на проверку различий плагина ReSharper для TeamCity для TFS, но я ничего не мог найти. Если вы знаете что-нибудь подобное, дайте мне знать.

Я был бы рад услышать, как любой из вас освоил введение проверки правил.

+0

Это более прост в использовании http://www.sonarlint.org/visualstudio/. –

+0

@ Andreea Dumitru: Я намерен использовать sonarlint после перехода на VS2015. Но я никогда не видел его заменой для ReSharper. Вы используете ReSharper и Sonarlint или просто Sonarlint? – tobre

+0

Не является заменителем ReSharper, но вы можете применять специальные правила более легко. Я использую оба. ReSharper + SonarLite, без TeamCity. (Я впервые услышал об этом) –

ответ

0

Я нашел описание того, что TeamCity позволяет сделать: TeamCity

важная часть относительно моего вопроса заключается в следующем: TeamCity может быть сконфигурирован, чтобы сравнить проблемы, обнаруженные в исходном файле с вопросами из последней сборки. Если есть больше проблем с предупреждением или ошибкой типа, вы можете сделать сбой сборки.

Насколько я знаю, TFS не обладает этой возможностью, и я не знаю никаких надстроек, которые могли бы выполнить нечто подобное.

Тем не менее, я считаю, что проверка этой проверки различий является одной из наиболее перспективных для улучшения устаревших приложений.

Смежные вопросы