OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 13:36

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Рефакторинг
СообщениеДобавлено: Четверг, 21 Май, 2009 18:53 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
По поводу рефакторинга.
Впечатление наукообразной тривиальности.
Или, чтобы программеров подразнить: опять программеры с понтами америку открыли.

Ну, полезно в базовом курсе сказать "переделывай программу маленькими тождественными преобразованиями, прогоняя тесты после каждого".
Любой курс мат. логики эту идею передает (формальные выводы и доказательства).

У меня пятиклассники процедуры из кода выделяли, еще на зная циклов.

Понятно, что автоматизировать какие-то подобные трансформации может быть и полезно. Теоретически.

Но вот толстенная и дорогая книга Фаулера. И что?

Цитата:
... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ...


Очередная раздутая "парадигма"?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Четверг, 21 Май, 2009 19:26 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Info21 писал(а):
Но вот толстенная и дорогая книга Фаулера. И что?


Ну я, например, не читал. Ну да, общий принцип понятен и очевиден. И что? :) Это ж не значит, что там нет чего-то, чего я не знаю (или на что не обращаю внимание). Другой вопрос, стоит ли это "чего-то" потраченного времени на изучение всей книги... Может и не стоит.
Или вот с другой стороны заход можно сделать. Вы - руководитель большого проекта. Вы видите, что с кодом есть определенные проблемы, решение которых для вас очевидно, но неочевидно членам руководимой вами команды. Вы можете проводить семинары и т.п., а можете просто обязать прочитать соответствующую книжку :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Четверг, 21 Май, 2009 20:10 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Вы о чем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 05:41 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Info21 писал(а):
Или, чтобы программеров подразнить: опять программеры с понтами америку открыли.
Вы правы, для тех кто мыслит понятиями, а не терминами, -- ничего нового. Но есть и положительные моменты: эти понятия получили свои названия, а сами методы рефакторинга систематизированы. Для тех кто не знаком с этим -- проще изучать, для остальных -- проще общаться на эту тему. Я, например, только что использовал термин "методы рефакторинга", фраза получилась лаконичной и всем понятно о чём речь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 05:56 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Немного добавлю. Сам по себе рефакторинг, вроде, не объявляется "новой парадигмой". Это всего лишь "пунктик" в экстремальном программировании. А вот последнее действительно преподносится как парадигма. Прошу разъяснить, если я что-то напутал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 08:22 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
igor писал(а):
... Сам по себе рефакторинг, вроде, не объявляется "новой парадигмой". Это всего лишь "пунктик" в экстремальном программировании.
Кажется, сам Фаулер подчеркивал, что рефакторинг независим от XP (но не наоборот).

В общем, конечно, раскладывание по полочкам вещь полезная.
Хотя по-особому называть каждую тривиальность -- голова все равно не упомнит.
Это, наверное, больше нужно для каких-нибудь целей глубоко-автоматического, искусственно-интеллектуального массажа программы.

Меня, наверное, больше интересует объем понятия рефакторинг (предположим, что некая сущность за понятием есть).
А также то, насколько полезна его поддержка, скажем, в Эклипсе -- что-то меня не впечатлило описание.
Полностью автоматизировать, вроде, не получается -- и даже опасно.
А раз так, то почему не обойтись компилятором. По крайней мере в Оберонах.

Парадигмой он, может, и не объявляется, но книжки толстенные, признаки секты/культа в наличии, и кто-то, как всегда, делает деньги.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 09:21 

Зарегистрирован: Вторник, 13 Ноябрь, 2007 20:38
Сообщения: 1056
Info21 писал(а):
Меня, наверное, больше интересует объем понятия рефакторинг (предположим, что некая сущность за понятием есть).
А также то, насколько полезна его поддержка, скажем, в Эклипсе -- что-то меня не впечатлило описание.
По поводу Эклипса ничего сказать не могу, а вот по поводу полезности рефакторинга есть кое-какие соображения.

Рефакторинг по сути является переделкой уже написанного кода. Может возникнуть вопрос, зачем переделывать то, что уже написано. Не лучше ли сразу писать как следует. Видимо отсюда и произростают сомнения в полезности рефакторинга.

При работе над сложным проектом, как правило, невозможно в линейном, так сказать, порядке принять все проектные решения. Дело в том, что для принятия некоторых решений, нужны результаты будущих проработок. В общем случае работа над проектом носит рекурсивный характер. Тогда рефакторинг становиться не просто полезным, а необходимым занятием. Важно только заниматься им не из моды, а осознавая для чего он нужен.

Имхо, вестИ такие проекты без рефакторинга -- это всё-равно, что программировать без циклов.
Info21 писал(а):
Парадигмой он, может, и не объявляется, но книжки толстенные, признаки секты/культа в наличии, и кто-то, как всегда, делает деньги.
Соглашусь, что есть ощущение какой-то раздутости. Может авторы стараются этим рейтинги себе как-то повысить? :) Более уместной была бы бОльшая сдержаность, ведь, как отмечалось уже, по сути ничего принципиально нового, только названия мудрёные понапридумывали.
Имхо, это вообще черта американцев. Русский мужик просто скажет: "Я тут вчерась придумал как внедрять чужеродные объекты в документ". А американец тоже всё это изобретёт, затем обязательно придумает название, присвоит себе все права, а потом скажет: "Я разработал технологию OLE". Думаю, что также и с рефакторингом. Немного непривычно для нашего менталитета.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 10:34 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Info21 писал(а):
Но вот толстенная и дорогая книга Фаулера. И что? Очередная раздутая "парадигма"?
У Фаулера есть несколько таких же толстых, дорогих, но тривиально-пустых книг.
Фаулер либо не честный писатель либо "недалёкий человек" (здесь "честный" - в смысле Р. Фейнмана).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 11:45 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Мое ИМХО по поводу конкретно рефакторинга.
Как я уже в форуме упоминал (не обратили внимания - жаль), заканчивается процесс развития информационных технологий специалистами других специальностей. Заканчивается период мастеров-одиночек и небольших "мануфактур", в которых частенько собственные методы "производства" разрабатывались и применялись. Начинается саморазвитие информационных технологий как инженерной дисциплины.
Обратите внимание, что начинается с классификации. Классификация паттернов проектирования, классификация рефапкторингов текста, классификация рефакторингов разработки через тестирование, классификация паттернов xUnit, паттернов архитектуры корпоративных приложений, паттернов интеграции, паттернов рефакторинга баз данных. По каждой классификации книжка есть... :)
Это необходимый процесс в начале развития любой инженерной дисциплины. По мере развития что-то отпадет, что-то просто превратится в тривиальные вещи, которые по умолчанию будут сделаны. Кто сейчас помнит слово "реентерабельность"? А ведь в свое время я изучал, как написать реентерабельную процедуру.
Если взять строительство, то например, есть классификация грунтов. Прикиньте, в начале развития строительного дела нафиг не нужна была эта классификация - строили шалаши на любом грунте. А избу построить - уже почву смотреть надо.
Но в процессе развития потребовалась детальная классификация. Ибо перешли на промышленные методы "производства" строений.
Да в любой сфере есть аналогичная классификация: автомобили, пароходы, одежда, например. Когда шкуры были - никому в голову не приходило расклассифицировать... :)

Американцы, естетсвенно, раздувают - тут уже написали об этом очень хорошо.
Но шаг в развитии ИТ - важнейший, не зависимо от "раздутия".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 11:56 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Info21 писал(а):
По поводу рефакторинга.
Впечатление наукообразной тривиальности

Цитата:
... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ...

+1!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 12:06 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Info21 писал(а):
Парадигмой он, может, и не объявляется, но книжки толстенные, признаки секты/культа в наличии, и кто-то, как всегда, делает деньги

Точно. Так называемая "корпоративная культура" (или даже не знаю, как назвать - "наукой" язык не поворачивается - то, чему на тренингах дрессируют). Уровень техникума, в лучшем случае. Тьфу...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 12:11 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Цитата:
... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ...


"Каждый строитель с опытом работы более ... (подставить нужное) доходит до 80% критериев (например, типов грунтов) сам".
Так и было на заре строительных технологий. Ну и что? Сейчас это учат в вузах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 13:27 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Как я уже в форуме упоминал (не обратили внимания - жаль), заканчивается процесс развития информационных технологий специалистами других специальностей.
Oбратил 8)

Валерий Лаптев писал(а):
Обратите внимание, что начинается с классификации. ... Это необходимый процесс в начале развития любой инженерной дисциплины.
Про классификацию -- это правильно, и не только инженерной, просто хочется сухой остаток.

Валерий Лаптев писал(а):
Но шаг в развитии ИТ - важнейший
Я бы сказал, необходимый шажок :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 13:29 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Сейчас это учат в вузах.
Так и я для спец.курса, какие минимальные слова сказать :)

Просто всплыло сейчас в связи с редактированием переводов документации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 13:40 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Валерий Лаптев писал(а):
Сейчас это учат в вузах.
Так и я для спец.курса, какие минимальные слова сказать :)

Просто всплыло сейчас в связи с редактированием переводов документации.

Минимально, я думаю - пару страничек хватит. Обозвать термин, назвать первоисточники, привести конкретный пример двух рефакторингов: простого и посложнее. И отослать к многочисленной литературе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 14:32 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Info21 писал(а):
Валерий Лаптев писал(а):
Сейчас это учат в вузах.
Так и я для спец.курса, какие минимальные слова сказать :)

Просто всплыло сейчас в связи с редактированием переводов документации.

Минимально, я думаю - пару страничек хватит.
Пара страниц -- многовато... разве у Фаулера поучиться и на >800 страниц курс фигачить...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Пятница, 22 Май, 2009 15:58 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Меня тоже поражают книги по 800-1200 страниц. После прочтения понимаешь, что все что написано, можно было уложить в 100-200 страницах, но "не переливая из пустого в порожнее".

Как то читал книги про корпоративную культуру фирмы Toyota. Сама книжка была страниц 500, но не об этом речь. Там говорилось, что в фирме Toyota есть такое правило, что описание, какого-нибудь рац. предложения или изменения в конструкции или даже спецификации для рабочего должно умещаться на 2-х листах A4. И еще говорилось о том, что предпринимаются попытки ограничить размеры данных документов 1-м листом A4.

Вот где "краткость сестра таланта". Вот с кого пример надо брать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Воскресенье, 24 Май, 2009 01:23 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Rifat писал(а):
Меня тоже поражают книги по 800-1200 страниц. После прочтения понимаешь, что все что написано, можно было уложить в 100-200 страницах, но "не переливая из пустого в порожнее"

Смотря какие книги. "Войну и мир" сокращать я бы не рекомендовал.

Кстати, есть вот еще контрпример - отличная книга "Графы в программировании" Касьянова и Евстигнеева, 1104 стр. - но ничего пустого в ней нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Понедельник, 25 Май, 2009 08:09 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Книжки книжкам рознь....
Но 80 % литературы по компьютерным наукам содержат в себе 80% воды.
С другой стороны писать компактно, ёмко и понятно надо уметь...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рефакторинг
СообщениеДобавлено: Вторник, 26 Май, 2009 07:51 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Борис Рюмшин писал(а):
Книжки книжкам рознь....
Но 80 % литературы по компьютерным наукам содержат в себе 80% воды.
С другой стороны писать компактно, ёмко и понятно надо уметь...

Компактно и емко - это программа... :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB