Как изменить соглашения об именах в больших объемах существующего кода? - PullRequest
1 голос
/ 22 ноября 2010

Мне нужно изменить существующую кодовую базу с соглашения об именах X на что-то вроде Camel Case.

Это в Visual Studio 2008. Пара сотен тысяч строк кода. Отчасти это C #. Некоторые из них неуправляемые C ++.

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

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

Я даже думаю написать надстройку для Visual Studio, чтобы сделать это.

Кто-нибудь знает какие-либо продукты, которые могут работать для этого? Мне все равно, работает ли он внутри Visual Studio или нет.

Спасибо!

Ответы [ 2 ]

1 голос
/ 22 ноября 2010

Я знаю, что есть несколько инструментов переименования, основанных на лексическом / семантическом анализе, но я не думаю, что есть инструмент преобразования, доступный для вашего конкретного "соглашения об именах X".

Хотя написание надстройки VS - неплохая идея, я бы порекомендовал вам написать скрипт на вашем любимом языке сценариев. (например, Perl, Python, Ruby или любой другой)

0 голосов
/ 22 ноября 2010

Рефакторинг переименования ReSharper :

Рефакторинг Rename позволяет вам переименовывать любой символ, включая: пространства имен, типы, методы, параметры, локальные переменные, свойства, поля и события. Он автоматически находит и исправляет все ссылки на символ. Рефакторинг Rename может быть вызван непосредственно из редактора, а иногда и из других представлений (Class View, Object Browser).

Переименование работает со всеми поддерживаемыми языками и технологиями, а именно с C #, VB.NET, ASP.NET, XML, XAML и сценариями сборки.

Автоматическое исправление ссылок полностью распространяется на разметку XAML при использовании рефакторинга Rename. Кроме того, определенные символы XAML, такие как псевдонимы пространства имен и ресурсы, можно легко переименовать:

Он также может обнаруживать переменные, которые не соответствуют указанным соглашениям об именах.

Я не уверен, насколько хорошо он интегрируется с управляемым C ++, но как только вы начнете использовать ReSharper с C #, вы удивитесь, как вы когда-либо жили без него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...