Всем привет!
Неоднократно приходилось слышать такое утверждение: в лиспе возможности рефакторинга, профилирования, отладки и многого другого достигаются средствами самого языка. Т.е. без использования вспомогательных средств, нередко усложнённых, как например в Eclipse или IDEA для Явы. В принципе, я готов в это поверить, т.к. язык очень могучий, и всё, что я до сих пор освоил в нём это лишь верхушка айсберга. Поэтому хочу попросить местных гуру-лисперов продемонстрировать вышесказанное на двух простеньких примерах,
1. Рефакторинг «Смена сигнатуры». Пусть есть функция, которая вызывается в сотне мест. Понадобилось а) переименовать функцию, б) добавить параметр. Хочеться, чтобы вызовы функции поменялись на новые во всех местах, где она используется. В место недостающего параметра подставлять NIL, ну или какие-то конкретные значения в зависимости от контекста.
2. Рефакторинг «Подъём метода». Пусть есть класс А, и наследующий от него класс В (классы понимаются в терминах CLOS, разумееться). Хочется переместить некий метод из класса В в класс-родитель А, или наоборот, это будет уже «спуск метода».
ХОтелось бы рассмотреть возможность подобного рефакторинга как в случае работы с образом (например, подключения к работающией системе через REPL), так и в случае с деревом исходных текстов в файловой системе.
Спасибо заранее!
Похожие темы
- Форум Рефакторинг (2016)
- Форум Рефакторинг (2004)
- Форум Рефакторинг кода (2010)
- Форум Рефакторинг кода (2018)
- Форум Рефакторинг - можно? (2008)
- Форум [Книга] Рефакторинг. (2009)
- Форум рефакторинг slickedit (2006)
- Форум лисп (2005)
- Форум Лисп (2002)
- Форум рефакторинг, как вам?) (2013)