Чтобы добавлять сообщения и комментарии, .

@borman:
borman

This repository used to be an ugly, hacky, bundle of crap — but now it's just a bundle of crap.

@egplife:
egplife

Re: juick.com

[18:24:48] икс: декомпилируй )
[18:25:33] s6: да не дело не в этом. надо заюзать сериалайзер объектов явы в xml
[18:25:43] s6: там формат-то мой, .ser
[18:25:51] s6: можна в xml переворожить =)
[18:31:32] spirit8: пользовательские обжекты сложные в .ser хранить некузяво — каждый рефактор всё порушит
[18:32:04] spirit8: и в тупо сериализованном xml тоже по этой причине некузяво =)
[18:33:52] spirit8: надо нормальный DSL XML =)

@egplife:
egplife

[18:19:34] spirit8: блин
[18:19:39] spirit8: бинарные блобы это зло
[18:19:52] spirit8: их нифига неотрефакторишь =)

@zxc-by:
zxc-by

посешчение dg до рефакторинга — 1, после 29, x29. Рефакторинг решает

@zEvg:
zEvg

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

@kaineer:
kaineer

[ refactoringredmine.com ] — Работает себе человек, рефакторит код редмайна, потихоньку пописывает про это блог, а потом — бац! — и делает из этого книжку. Книжка — 39 зелёных, дороговато по местным меркам :( Будем ждать торрентов :-/

@Mazdaywik:
Mazdaywik

В посте #858102 я писал, что запутался с проверкой регистров имён модулей и пакетов, т.к. не знал, как эти проверки учитывать. С целью понять, куда совать эти самые проверки, я замутил мощный рефакторинг модуля MCompiler, ответственного за процесс управления компиляцией. Рефакторинг практически завершил к текущему моменту, теперь придётся медитировать над проверками регистров имён. В процессе переработки модуля пришлось объединить три очень похожие (почти копипаста) ветви выполнения кода, две из которых отличались лишь деталями. Со стороны может показаться, что эти две ветви суть копипаста, но копированием я стараюсь не пользоваться, ибо на мне висит проклятие (об этом в других постах). Кстати, в процессе работы я понял смысл слова «рефакторинг»

Кстати, слово «рефакторинг» это очень удачная метафора для улучшения качества исходного кода. Слова «factoring», «factorization» в английском языке означают разложение выражения на множители (множитель по-английски — multiplier и factor), вынесение общих множителей за скобки. Применительно к программированию, можно сказать, что программа разлагается на набор независимых компонент, общий код выносится в отдельные процедуры, функции, классы, шаблоны, макросы и т.д. Но если факторинг означает написание новой программы, разбитой на «множители», то рефакторингом называется поиск «общих множителей» в уже имеющейся программе и вынесение их «за скобки».

На самом деле рефакторинг включает в себя не только поиск повторяющегося кода, схожей логики и общих черт, которые можно вынести в базовый класс. Рефакторинг подразумевает и ряд других манипуляций, облагораживающих программу и улучшающих её структуру и сопровождаемость. Но суть остаётся та же: из запутанной программы получается структурированная, разложенная, факторизованная программа.

@zEvg:
zEvg

Самый тяжелый рефакторинг — это изменение интерфейсов. Уже голова квадратная о_О

@alsmirn:
alsmirn

Никогда раньше толком не слушал Coldplay; зарядив с утра дискографию в mpd, открыл что под них хорошо рефакторится, особенно хорошо идет переименование, спокойно так.

@idler-max:
idler-max

Глядя на конструкции вида:

function __call($method,$args){
throw new Exception('Don\'t call "'.$method.'"');
}
в чужом коде, долго думаю А ЗАЧЕМ?????
тем более что Exception нигде не перехватывается.

@bookstracker:
bookstracker

Рефакторинг. Улучшение существующего кода. Фаулер М. PDF. 18.4 Mb. depositfiles.com