Первые рефакторинги
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 06.04.08 07:59
Оценка: 224 (7)
Прошу оценить и попинать

Первый, долго ожидаемый народом, это Rename refactoring.
Картинка:


И еще есть Inline symbol refactoring. Инлайнить можно только простые локальные переменные.
Картинка:


Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные, так что для кода
def x = 1 + 2;
def y = x * 3;


Если заинлайнить x, то результат будет
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;

(как должно быть по уму). Впрочем, я работаю над этим. А этот "релиз" вроде как EAP, назовем это так

Также хотелось бы услышать, каких еще рефакторингов народу не хватает, в порядке важности?
--
Re: Первые рефакторинги
От: Kisloid Мухосранск  
Дата: 06.04.08 10:08
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Прошу оценить и попинать




СТ>Также хотелось бы услышать, каких еще рефакторингов народу не хватает, в порядке важности?


Extract Method...
... << RSDN@Home 1.2.0 alpha rev. 786>>
((lambda (x) (list x (list 'quote x))) '(lambda (x) (list x (list 'quote x))))
Re: Первые рефакторинги
От: Блудов Павел Россия  
Дата: 07.04.08 02:32
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

Выглядит ничего так. Может их сразу в wiki на nemerle.org выкладывать?
... << RSDN@Home 1.2.0 alpha 2 rev. 872>>
Re[2]: Первые рефакторинги
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 07.04.08 04:44
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Здравствуйте, Сергей Туленцев, Вы писали:


БП>Выглядит ничего так. Может их сразу в wiki на nemerle.org выкладывать?


Можно, ага. Вроде как у меня там даже какие-то права были
--
Re[2]: Первые рефакторинги
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.04.08 10:30
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Выглядит ничего так. Может их сразу в wiki на nemerle.org выкладывать?


Фичи как хорошее вино или коньяк требует выдержки. Погоди хотя бы до момента когда основные глюки исчезнут.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Первые рефакторинги
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.04.08 10:32
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Выглядит ничего так. Может их сразу в wiki на nemerle.org выкладывать?


На картинках еще русские надписи. На nemerle.org их могут не понять. Эти поляки такие дремучие в области правильных языков .
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Первые рефакторинги
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.04.08 10:36
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Если заинлайнить x, то результат будет

СТ>
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;

СТ>(как должно быть по уму). Впрочем, я работаю над этим. А этот "релиз" вроде как EAP, назовем это так

А что мешает, если инициализатор является выражением, обрамлять его в текстуальные скобки?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Первые рефакторинги
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 07.04.08 10:38
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Если заинлайнить x, то результат будет

СТ>>
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;

СТ>>(как должно быть по уму). Впрочем, я работаю над этим. А этот "релиз" вроде как EAP, назовем это так

VD>А что мешает, если инициализатор является выражением, обрамлять его в текстуальные скобки?


Да вроде бы ничего не мешает. И то хочется сделать, и это, а тут еще работать надо
--
Re: Первые рефакторинги
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 07.04.08 19:01
Оценка: 39 (1)
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные, так что для кода

СТ>
СТ>def x = 1 + 2;
СТ>def y = x * 3;
СТ>


СТ>Если заинлайнить x, то результат будет

СТ>
def y = 1 + 2 * 3;
, а не
def y = (1 + 2) * 3;

СТ>(как должно быть по уму). Впрочем, я работаю над этим.

Добавил "наивно-параноидальный" фикс. Может вставлять лишние скобки там, где не надо. Но хотя бы код будет правильным
--
Re[3]: Первые рефакторинги
От: VladD2 Российская Империя www.nemerle.org
Дата: 09.04.08 13:40
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Да вроде бы ничего не мешает. И то хочется сделать, и это, а тут еще работать надо


Я просто это к тому сказал, что это решение довольно простое. Особого анализа не требующее. Можешь по бырому добавить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Первые рефакторинги
От: Aen Sidhe Россия Просто блог
Дата: 25.04.08 14:49
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные


Наверно именно поэтому не работает Rename на generic'ах? Если поможет — при наведении мышкой на c подсветка выглядит так: (жирный = розовый, курсив = лазурный)
    public class testClass['a, 'b, 'c]
    {
        public static @==(m1 : testClass['a, 'b, 'c], m2 : testClass['a, 'b, 'c]) : bool
        {
            true;
        }
    }


На выходе после рефакторинга:

    public class a['a, 'b, 'c]
    {
        public static @==(m1 : a, m2 : a) : bool
        {
            true;
        }
    }
С уважением, Анатолий Попов.
ICQ: 995-908
Re[2]: Первые рефакторинги
От: Сергей Туленцев Россия http://software.tulentsev.com
Дата: 25.04.08 17:06
Оценка:
Здравствуйте, Aen Sidhe, Вы писали:

AS>Здравствуйте, Сергей Туленцев, Вы писали:


СТ>>Сразу признаюсь, что сделан немного халтурно, но лично для меня покрывает 90 процентов потребностей. Gotcha вот в чем: подстановки пока что чисто текстуальные


AS>Наверно именно поэтому не работает Rename на generic'ах? Если поможет — при наведении мышкой на c подсветка выглядит так: (жирный = розовый, курсив = лазурный)


Ты type parameter переименовать хотел, да? По моему, там чуть-чуть недоделано. На выходных постараюсь поправить.

А не работает не из-за того, что подстановки текстуальные. А поиск хромает еще пока.
... << RSDN@Home 1.2.0 alpha 4 rev. 1084>>
--
Re[3]: Первые рефакторинги
От: Aen Sidhe Россия Просто блог
Дата: 25.04.08 18:19
Оценка:
Здравствуйте, Сергей Туленцев, Вы писали:

СТ>Ты type parameter переименовать хотел, да? По моему, там чуть-чуть недоделано. На выходных постараюсь поправить.


Нет. Я хотел переименовать testClass.
С уважением, Анатолий Попов.
ICQ: 995-908
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.