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/ |