LINUX.ORG.RU

После недавней твоей темы вспомнил эту. Глянул эту сессию.

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

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

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Да ладно, не будь бякой — учитывая обстоятельства, они неплохо справились. Я сейчас пересмотрел, и у меня сложилось впечатление, что ты в своей критике слишком строг.

Все, что они сделали — устранили вложенные if'ы в #gather_and_parse_refs и добавили несколько хелперов. Код от этого для меня стал проще.

Другое дело, что нет вообще никаких гарантий, что ничего не было сломано, так как они изменяли содержание else в #gather_and_parse_refs, для которого не было тестов. Они на это обратили внимание и высказали сомнения в том, что исправления правильные.

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

Я полагаю, эту сессию следует воспринимать не как пример какого-то идеального рефакторинга, а как приятное времяпровождение и демонстрацию «workflow». В таких условиях парить аудитории мозг чтением документации было бы негуманно.

Anatolik ★★ ()
Ответ на: комментарий от Anatolik

В таких условиях парить аудитории мозг чтением документации было бы негуманно.

http://schworak.com/blog/e39/m3u-play-list-specification/

Вот и вся документация, два абзаца текста. Собственно поэтому и претензия.

Я полагаю, эту сессию следует воспринимать не как пример какого-то идеального рефакторинга, а как приятное времяпровождение и демонстрацию «workflow».

Лучше всего вся сессия была подытожена выкриком: «Ship it!»

i-rinat ★★★★★ ()
Ответ на: комментарий от i-rinat

Вот и вся документация, два абзаца текста. Собственно поэтому и претензия.

Я, выступая в качестве адвоката, могу в ответ на эту претензию обратить внимание на то, что она там сказала что-то вроде «we don't have internet». Пребывая в таких хардкорных условиях, возможно, они намеренно стремились сэмулировать работу с форматом, для которого отсутствует документация.

Лучше всего вся сессия была подытожена выкриком: «Ship it!»

:)

Anatolik ★★ ()
Ответ на: комментарий от Anatolik

они намеренно стремились

Надо признать, что смотреть было интересно. Я всё время хотел крикнуть: «да чтож ты делаешь!?», но всё-таки досмотрел.

i-rinat ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.