OberonCore https://forum.oberoncore.ru/ |
|
Рефакторинг https://forum.oberoncore.ru/viewtopic.php?f=8&t=1609 |
Страница 1 из 2 |
Автор: | Info21 [ Четверг, 21 Май, 2009 18:53 ] |
Заголовок сообщения: | Рефакторинг |
По поводу рефакторинга. Впечатление наукообразной тривиальности. Или, чтобы программеров подразнить: опять программеры с понтами америку открыли. Ну, полезно в базовом курсе сказать "переделывай программу маленькими тождественными преобразованиями, прогоняя тесты после каждого". Любой курс мат. логики эту идею передает (формальные выводы и доказательства). У меня пятиклассники процедуры из кода выделяли, еще на зная циклов. Понятно, что автоматизировать какие-то подобные трансформации может быть и полезно. Теоретически. Но вот толстенная и дорогая книга Фаулера. И что? Цитата: ... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ... Очередная раздутая "парадигма"? |
Автор: | Vlad [ Четверг, 21 Май, 2009 19:26 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): Но вот толстенная и дорогая книга Фаулера. И что? Ну я, например, не читал. Ну да, общий принцип понятен и очевиден. И что? ![]() Или вот с другой стороны заход можно сделать. Вы - руководитель большого проекта. Вы видите, что с кодом есть определенные проблемы, решение которых для вас очевидно, но неочевидно членам руководимой вами команды. Вы можете проводить семинары и т.п., а можете просто обязать прочитать соответствующую книжку ![]() |
Автор: | Info21 [ Четверг, 21 Май, 2009 20:10 ] |
Заголовок сообщения: | Re: Рефакторинг |
Вы о чем. |
Автор: | igor [ Пятница, 22 Май, 2009 05:41 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): Или, чтобы программеров подразнить: опять программеры с понтами америку открыли. Вы правы, для тех кто мыслит понятиями, а не терминами, -- ничего нового. Но есть и положительные моменты: эти понятия получили свои названия, а сами методы рефакторинга систематизированы. Для тех кто не знаком с этим -- проще изучать, для остальных -- проще общаться на эту тему. Я, например, только что использовал термин "методы рефакторинга", фраза получилась лаконичной и всем понятно о чём речь.
|
Автор: | igor [ Пятница, 22 Май, 2009 05:56 ] |
Заголовок сообщения: | Re: Рефакторинг |
Немного добавлю. Сам по себе рефакторинг, вроде, не объявляется "новой парадигмой". Это всего лишь "пунктик" в экстремальном программировании. А вот последнее действительно преподносится как парадигма. Прошу разъяснить, если я что-то напутал. |
Автор: | Info21 [ Пятница, 22 Май, 2009 08:22 ] |
Заголовок сообщения: | Re: Рефакторинг |
igor писал(а): ... Сам по себе рефакторинг, вроде, не объявляется "новой парадигмой". Это всего лишь "пунктик" в экстремальном программировании. Кажется, сам Фаулер подчеркивал, что рефакторинг независим от XP (но не наоборот).В общем, конечно, раскладывание по полочкам вещь полезная. Хотя по-особому называть каждую тривиальность -- голова все равно не упомнит. Это, наверное, больше нужно для каких-нибудь целей глубоко-автоматического, искусственно-интеллектуального массажа программы. Меня, наверное, больше интересует объем понятия рефакторинг (предположим, что некая сущность за понятием есть). А также то, насколько полезна его поддержка, скажем, в Эклипсе -- что-то меня не впечатлило описание. Полностью автоматизировать, вроде, не получается -- и даже опасно. А раз так, то почему не обойтись компилятором. По крайней мере в Оберонах. Парадигмой он, может, и не объявляется, но книжки толстенные, признаки секты/культа в наличии, и кто-то, как всегда, делает деньги. |
Автор: | igor [ Пятница, 22 Май, 2009 09:21 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): Меня, наверное, больше интересует объем понятия рефакторинг (предположим, что некая сущность за понятием есть). По поводу Эклипса ничего сказать не могу, а вот по поводу полезности рефакторинга есть кое-какие соображения.А также то, насколько полезна его поддержка, скажем, в Эклипсе -- что-то меня не впечатлило описание. Рефакторинг по сути является переделкой уже написанного кода. Может возникнуть вопрос, зачем переделывать то, что уже написано. Не лучше ли сразу писать как следует. Видимо отсюда и произростают сомнения в полезности рефакторинга. При работе над сложным проектом, как правило, невозможно в линейном, так сказать, порядке принять все проектные решения. Дело в том, что для принятия некоторых решений, нужны результаты будущих проработок. В общем случае работа над проектом носит рекурсивный характер. Тогда рефакторинг становиться не просто полезным, а необходимым занятием. Важно только заниматься им не из моды, а осознавая для чего он нужен. Имхо, вестИ такие проекты без рефакторинга -- это всё-равно, что программировать без циклов. Info21 писал(а): Парадигмой он, может, и не объявляется, но книжки толстенные, признаки секты/культа в наличии, и кто-то, как всегда, делает деньги. Соглашусь, что есть ощущение какой-то раздутости. Может авторы стараются этим рейтинги себе как-то повысить? ![]() Имхо, это вообще черта американцев. Русский мужик просто скажет: "Я тут вчерась придумал как внедрять чужеродные объекты в документ". А американец тоже всё это изобретёт, затем обязательно придумает название, присвоит себе все права, а потом скажет: "Я разработал технологию OLE". Думаю, что также и с рефакторингом. Немного непривычно для нашего менталитета. |
Автор: | Сергей Губанов [ Пятница, 22 Май, 2009 10:34 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): Но вот толстенная и дорогая книга Фаулера. И что? Очередная раздутая "парадигма"? У Фаулера есть несколько таких же толстых, дорогих, но тривиально-пустых книг.Фаулер либо не честный писатель либо "недалёкий человек" (здесь "честный" - в смысле Р. Фейнмана). |
Автор: | Валерий Лаптев [ Пятница, 22 Май, 2009 11:45 ] |
Заголовок сообщения: | Re: Рефакторинг |
Мое ИМХО по поводу конкретно рефакторинга. Как я уже в форуме упоминал (не обратили внимания - жаль), заканчивается процесс развития информационных технологий специалистами других специальностей. Заканчивается период мастеров-одиночек и небольших "мануфактур", в которых частенько собственные методы "производства" разрабатывались и применялись. Начинается саморазвитие информационных технологий как инженерной дисциплины. Обратите внимание, что начинается с классификации. Классификация паттернов проектирования, классификация рефапкторингов текста, классификация рефакторингов разработки через тестирование, классификация паттернов xUnit, паттернов архитектуры корпоративных приложений, паттернов интеграции, паттернов рефакторинга баз данных. По каждой классификации книжка есть... ![]() Это необходимый процесс в начале развития любой инженерной дисциплины. По мере развития что-то отпадет, что-то просто превратится в тривиальные вещи, которые по умолчанию будут сделаны. Кто сейчас помнит слово "реентерабельность"? А ведь в свое время я изучал, как написать реентерабельную процедуру. Если взять строительство, то например, есть классификация грунтов. Прикиньте, в начале развития строительного дела нафиг не нужна была эта классификация - строили шалаши на любом грунте. А избу построить - уже почву смотреть надо. Но в процессе развития потребовалась детальная классификация. Ибо перешли на промышленные методы "производства" строений. Да в любой сфере есть аналогичная классификация: автомобили, пароходы, одежда, например. Когда шкуры были - никому в голову не приходило расклассифицировать... ![]() Американцы, естетсвенно, раздувают - тут уже написали об этом очень хорошо. Но шаг в развитии ИТ - важнейший, не зависимо от "раздутия". |
Автор: | TAU [ Пятница, 22 Май, 2009 11:56 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): По поводу рефакторинга. Впечатление наукообразной тривиальности Цитата: ... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ... +1! |
Автор: | TAU [ Пятница, 22 Май, 2009 12:06 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): Парадигмой он, может, и не объявляется, но книжки толстенные, признаки секты/культа в наличии, и кто-то, как всегда, делает деньги Точно. Так называемая "корпоративная культура" (или даже не знаю, как назвать - "наукой" язык не поворачивается - то, чему на тренингах дрессируют). Уровень техникума, в лучшем случае. Тьфу... |
Автор: | Валерий Лаптев [ Пятница, 22 Май, 2009 12:11 ] |
Заголовок сообщения: | Re: Рефакторинг |
Цитата: ... каждый программист с опытом работы больше трех лет доходит до 80% критериев сам. Слишком много воды с претензией на формализованность. Например, очевиднейший рефакторинг "Переименование метода", который можно сформулировать одним предложением "переименуйте метод и все ссылки на него", каким-то макаром занимает целых две страницы. ... "Каждый строитель с опытом работы более ... (подставить нужное) доходит до 80% критериев (например, типов грунтов) сам". Так и было на заре строительных технологий. Ну и что? Сейчас это учат в вузах. |
Автор: | Info21 [ Пятница, 22 Май, 2009 13:27 ] |
Заголовок сообщения: | Re: Рефакторинг |
Валерий Лаптев писал(а): Как я уже в форуме упоминал (не обратили внимания - жаль), заканчивается процесс развития информационных технологий специалистами других специальностей. Oбратил ![]() Валерий Лаптев писал(а): Обратите внимание, что начинается с классификации. ... Это необходимый процесс в начале развития любой инженерной дисциплины. Про классификацию -- это правильно, и не только инженерной, просто хочется сухой остаток.Валерий Лаптев писал(а): Но шаг в развитии ИТ - важнейший Я бы сказал, необходимый шажок ![]() |
Автор: | Info21 [ Пятница, 22 Май, 2009 13:29 ] |
Заголовок сообщения: | Re: Рефакторинг |
Валерий Лаптев писал(а): Сейчас это учат в вузах. Так и я для спец.курса, какие минимальные слова сказать ![]() Просто всплыло сейчас в связи с редактированием переводов документации. |
Автор: | Валерий Лаптев [ Пятница, 22 Май, 2009 13:40 ] |
Заголовок сообщения: | Re: Рефакторинг |
Info21 писал(а): Валерий Лаптев писал(а): Сейчас это учат в вузах. Так и я для спец.курса, какие минимальные слова сказать ![]() Просто всплыло сейчас в связи с редактированием переводов документации. Минимально, я думаю - пару страничек хватит. Обозвать термин, назвать первоисточники, привести конкретный пример двух рефакторингов: простого и посложнее. И отослать к многочисленной литературе. |
Автор: | Info21 [ Пятница, 22 Май, 2009 14:32 ] |
Заголовок сообщения: | Re: Рефакторинг |
Валерий Лаптев писал(а): Info21 писал(а): Валерий Лаптев писал(а): Сейчас это учат в вузах. Так и я для спец.курса, какие минимальные слова сказать ![]() Просто всплыло сейчас в связи с редактированием переводов документации. Минимально, я думаю - пару страничек хватит. |
Автор: | Rifat [ Пятница, 22 Май, 2009 15:58 ] |
Заголовок сообщения: | Re: Рефакторинг |
Меня тоже поражают книги по 800-1200 страниц. После прочтения понимаешь, что все что написано, можно было уложить в 100-200 страницах, но "не переливая из пустого в порожнее". Как то читал книги про корпоративную культуру фирмы Toyota. Сама книжка была страниц 500, но не об этом речь. Там говорилось, что в фирме Toyota есть такое правило, что описание, какого-нибудь рац. предложения или изменения в конструкции или даже спецификации для рабочего должно умещаться на 2-х листах A4. И еще говорилось о том, что предпринимаются попытки ограничить размеры данных документов 1-м листом A4. Вот где "краткость сестра таланта". Вот с кого пример надо брать. |
Автор: | TAU [ Воскресенье, 24 Май, 2009 01:23 ] |
Заголовок сообщения: | Re: Рефакторинг |
Rifat писал(а): Меня тоже поражают книги по 800-1200 страниц. После прочтения понимаешь, что все что написано, можно было уложить в 100-200 страницах, но "не переливая из пустого в порожнее" Смотря какие книги. "Войну и мир" сокращать я бы не рекомендовал. Кстати, есть вот еще контрпример - отличная книга "Графы в программировании" Касьянова и Евстигнеева, 1104 стр. - но ничего пустого в ней нет. |
Автор: | Борис Рюмшин [ Понедельник, 25 Май, 2009 08:09 ] |
Заголовок сообщения: | Re: Рефакторинг |
Книжки книжкам рознь.... Но 80 % литературы по компьютерным наукам содержат в себе 80% воды. С другой стороны писать компактно, ёмко и понятно надо уметь... |
Автор: | Валерий Лаптев [ Вторник, 26 Май, 2009 07:51 ] |
Заголовок сообщения: | Re: Рефакторинг |
Борис Рюмшин писал(а): Книжки книжкам рознь.... Но 80 % литературы по компьютерным наукам содержат в себе 80% воды. С другой стороны писать компактно, ёмко и понятно надо уметь... Компактно и емко - это программа... ![]() |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |