Безопасный способ изменения имен переменных в проекте
таким образом, я работал над относительно большим проектом самостоятельно, и я понял, что некоторые из имен переменных ранее были.. далекий от идеала.
но как легко изменить имена переменных в проекте? Есть ли такой инструмент, который может пройти через каталог проекта, проанализировать все файлы, а затем заменить имена переменных на нужные? Он должен быть достаточно умен, чтобы понимать язык я представляю.
Я думал об использовании regexp (sed / awk в linux?) инструменты, чтобы просто заменить имя переменной, но было много раз, когда моя конкретная переменная также включена как часть строк.
существует также проблема изменения материала в пространстве имен c++, потому что в моем проекте есть два класса с одинаковым именем, но в разных пространствах имен.
Я помню, что visual studio может это сделать, но какой самый безопасный и элегантный способ сделать это в linux?
6 ответов
самый безопасный (не автоматизированный путь) путь:
- убедитесь, что все ваши модульные тесты работы.
- сохранить все в систему управления версиями.
- глобально заменить var на XXXvarXXX (серьезно)
а. Или, может, просто файлов вы думаете, что нужно для редактирования. - попробуйте скомпилировать. Все, что не компилируется, легко отменить, просто удалите XXX.
- при компиляции запустите модульные тесты.
- когда модульные тесты работы. Do a global замените XXXvarXXX на новое имя.
- убедитесь, что модульные тесты все еще работают
- сохранить все в системе контроля версий.
язык только наполовину в щеку. :-)
Это называется рефакторинг, но я не помню, есть ли отличный способ сделать это на C++ - я думаю, может быть Eclipse C++ было; может быть, стоит взглянуть.
Я помню, что visual stuio может это сделать, но какой самый безопасный и элегантный способ сделать это в linux?
вы можете делать почти то же, что и в visual studio в Eclipse, используя инструменты перефакторинга, доступные для Linux.
$400 в Ф-Н-копии, но здесь вы идете: http://www.xref.sk/xrefactory/download.html
Я конечно никогда не использовал его.
Я знаю, что C# и visual studio имеют отличный переменный чейнджер, но работает ли он через все документы, я не уверен. Я знаю, когда вы меняете переменную в C#, она появляется рядом с текстом переменной. Change All
однако вы можете застрять с единственным вариантом. Измените переменные и посмотрите, где компилятор идет не так. Однако его не идеально, но может быть ваш единственный выбор
используйте частные переменные, переименуйте переменную и очевидное использование, исправьте ошибки компилятора.