Re[13]: факапы на работе
От: John1979  
Дата: 05.04.17 10:22
Оценка:
Здравствуйте, landerhigh, Вы писали:

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

L>Ручками, все ручками. Разбивать зависимости, кромсать универсальные всемогуторы и выжигать статические переменные. Точечными изменениями тут уже не поможешь, тут ковровая бомбардировка нужна.
когда я был молод и горяч, я рассуждал в том-же ключе. но однажды коллега убедил меня попробовать технику малых изменений с поддержанием кода не только в компилируемом, но и в рабочем состоянии.

с тех пор жить мне стало на порядок проще.
а уж на сколько порядков проще стало тем, кто ревьювит эти рефакторинги...
Re[14]: факапы на работе
От: landerhigh Пират  
Дата: 05.04.17 10:33
Оценка:
Здравствуйте, John1979, Вы писали:

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

L>>Ручками, все ручками. Разбивать зависимости, кромсать универсальные всемогуторы и выжигать статические переменные. Точечными изменениями тут уже не поможешь, тут ковровая бомбардировка нужна.
J>когда я был молод и горяч, я рассуждал в том-же ключе. но однажды коллега убедил меня попробовать технику малых изменений с поддержанием кода не только в компилируемом, но и в рабочем состоянии.

Это позавчера что ли?

Задачи и проблемы вообще-то бывают разные.
www.blinnov.com
Re[3]: факапы на работе
От: Serg27  
Дата: 05.04.17 10:54
Оценка:
Здравствуйте, ShaggyOwl, Вы писали:
SO>Ежедневный (ночной) бекап рабочих машин — не очень хорошее решение.

Переведи! (с)
Мнение интересное и, наверное, требует объяснения.
Re[15]: факапы на работе
От: John1979  
Дата: 05.04.17 11:01
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Это позавчера что ли?

это много лет назад.

L>Задачи и проблемы вообще-то бывают разные.

ну да, один ты уникальные вещи решаешь.
кстати, реальный пример задачи, которую невозможно решить 'не по книжке', ты так и не привел.
Re[7]: факапы на работе
От: John1979  
Дата: 05.04.17 11:02
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Не всякую работу можно разбить на кусочки по полчаса.

а на кусочки по 6 часов ?
Re[3]: факапы на работе
От: Hobbes Россия  
Дата: 05.04.17 11:03
Оценка:
Здравствуйте, alzt, Вы писали:

A>Ещё зависит от задач. Иногда бывает полезным написать что-то за неделю, посмотреть на результат, поэкспериментировать. Потом выкинуть весь код и написать заново.


Таки результат эксперимента, в том числе код, лучше всего сохранить где-то. Мало ли.
Re[5]: факапы на работе
От: Pzz Россия https://github.com/alexpevzner
Дата: 05.04.17 11:58
Оценка:
Здравствуйте, Silver_S, Вы писали:

S_S> Я тоже однажды похерил результаты нескольких дней. В древние времена SourceSafe — точно не помню, второпях не внимательно прочитал вопрос в диалоге, из-за не правильного ответа безвозвратно откатилось назад(похерилось), ...

S_S> Это тоже попадает под статью?

Конечно попадает. Внедрение SourceSafe — это явное вредительство
Re[10]: факапы на работе
От: Pzz Россия https://github.com/alexpevzner
Дата: 05.04.17 12:00
Оценка:
Здравствуйте, ·, Вы писали:

L>>И это магическим образом заставит код собираться, да?

·>Это мне до сих пор непонятно. Как можно три дня писать код и ни разу не смочь собрать.
·>Понимаю ещё, что начал что-то делать, разломал всё, потом тебя отвлекли на митинг, а потом уже домой надо.

Твой кусок собирается. Проект в целом с твоим куском не собирается.
Re[4]: факапы на работе
От: ShaggyOwl Россия http://www.rsdn.org
Дата: 05.04.17 12:27
Оценка: +1
Здравствуйте, Serg27, Вы писали:

SO>>Ежедневный (ночной) бекап рабочих машин — не очень хорошее решение.


S>Переведи! (с)

S>Мнение интересное и, наверное, требует объяснения.

Сразу оговорюсь, что комментарий идёт в контексте темы (неиспользование репозитория).

Как по мне — работа с системой контроля версий для программиста, это что-то сродни гигиене. Надо чуть-чуть привыкнуть, а далее сплошной профит и отсутствие головняка. Бекап репозитория делается просто и занимает относительно немного времени. Причём, сложностей с этой задачей наверняка не будет.

Бекап _всех_ рабочих машин, это:
1. Выбор технических средств.
2. Настройка и отладка.
3. Контроль и исправление случающихся ошибок.
Т.е. этой задачей придётся целенаправленно заниматься и уделять ей время постоянно.

Далее, бекап всегда будет занимать _много_ времени и требовать _много_ места на внешнем хранилище. Как следствие решение будет не очень хорошо масштабироваться.
На контроле придётся постоянно держать предел для такого решения, который может быть достигнут довольно быстро в случае роста числа пользователей. Ну и стоимость решения надо считать внимательно. Отдельный вопрос — рост объёма информации на дисках пользователей. Ещё один отдельный вопрос — пропускная способность сети.
Самое главное. Профита от восстановления _каждого_ рабочего места разработчика будет совсем немного. С учётом использования системы контроля версий — так вообще никакой.

Как-то так.
Хорошо там, где мы есть! :)
Re[11]: факапы на работе
От: · Великобритания  
Дата: 05.04.17 12:30
Оценка:
Здравствуйте, Pzz, Вы писали:

L>>>И это магическим образом заставит код собираться, да?

Pzz>·>Это мне до сих пор непонятно. Как можно три дня писать код и ни разу не смочь собрать.
Pzz>·>Понимаю ещё, что начал что-то делать, разломал всё, потом тебя отвлекли на митинг, а потом уже домой надо.
Pzz>Твой кусок собирается. Проект в целом с твоим куском не собирается.
Неужели это обнаруживается только на третий день?!
Хотя в общем понимаю, сам таким был. Но чем опытнее, тем случается такое реже и реже: легче находишь окольный путь инкрементального внесения изменений без всё-ломающих шагов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[8]: факапы на работе
От: Sharov Россия  
Дата: 05.04.17 12:34
Оценка:
Здравствуйте, ·, Вы писали:

·>Здравствуйте, Pzz, Вы писали:


Pzz>>>>Если у меня кусок работы на три дня, и в течении этих трех дней код в промежуточном состоянии не только не работает, но даже и не собирается, что по мнению коллективного фаулера, я должен делать в конце рабочего дня?

·>Коммитить и пушить в приватную ветку, а с утра сбрасывать коммит.

А это зачем? Или это сленг такой?

·>Уйти домой вечером не оставив бэкапа работы за день — это для меня как уйти из дома, не закрыв входную дверь.


Бекап разработчик должен оставлять/делать или администратор?
Кодом людям нужно помогать!
Re[16]: факапы на работе
От: landerhigh Пират  
Дата: 05.04.17 12:39
Оценка:
Здравствуйте, John1979, Вы писали:

L>>Задачи и проблемы вообще-то бывают разные.

J>ну да, один ты уникальные вещи решаешь.

У меня тоже складывается такое мнение. Пока все гномиков сортируют, некоторым и работать приходится

J>кстати, реальный пример задачи, которую невозможно решить 'не по книжке', ты так и не привел.


Покажи, где я что-то говорил про книжки.
www.blinnov.com
Re[12]: факапы на работе
От: landerhigh Пират  
Дата: 05.04.17 12:41
Оценка:
Здравствуйте, ·, Вы писали:

Pzz>>Твой кусок собирается. Проект в целом с твоим куском не собирается.

·>Неужели это обнаруживается только на третий день?!

Что значит "обнаруживается"? Это было известно с самого начала.

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


Ну внеси инкрементальное изменение, которое позволяет избавиться от зависимости от глобального объекта, отрастающего из легаси кода и используемого почти везде. Только чтобы проект сразу и собирался и работал.
www.blinnov.com
Re[17]: факапы на работе
От: John1979  
Дата: 05.04.17 12:44
Оценка:
Здравствуйте, landerhigh, Вы писали:


J>>кстати, реальный пример задачи, которую невозможно решить 'не по книжке', ты так и не привел.

L>Покажи, где я что-то говорил про книжки.
пардон, это был не ты.
Re[13]: факапы на работе
От: John1979  
Дата: 05.04.17 12:48
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Ну внеси инкрементальное изменение, которое позволяет избавиться от зависимости от глобального объекта, отрастающего из легаси кода и используемого почти везде. Только чтобы проект сразу и собирался и работал.

вносил, делается это за много шагов, но результатом каждой итерации у тебя работающий результат.

обычно эта зависимость не является единственной проблемой этого говнокода, поэтому сначала ты рефакторишь совсем не часть завязанную на глобальный объект, попутно подготавливая почву для отвязки от него.
Re[12]: факапы на работе
От: Pzz Россия https://github.com/alexpevzner
Дата: 05.04.17 12:49
Оценка:
Здравствуйте, ·, Вы писали:

Pzz>>Твой кусок собирается. Проект в целом с твоим куском не собирается.

·>Неужели это обнаруживается только на третий день?!

Нет, немного другая ситуация.

Ты изолируешь проблему, и пытаешься ее починить для начала локально. Сознательно наплевав на то, что какие-то части проекта будут сломаны. Потом, если локальный ремонт достиг успеха, ты уже либо приведешь остальные части проекта в соответсвие, либо придумаешь, как сделать то же самое, сохранив совместимость (что может быть достаточно сложно). Но для начала тебе надо разобраться с тем, зачем ты вообще туда полез.

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


Я сам люблю все делать инкрементально. Но иногда "резать к чертовой матери" оказывается очень существенно делевле, чем инкрементально.
Re[14]: факапы на работе
От: landerhigh Пират  
Дата: 05.04.17 12:50
Оценка: +1
Здравствуйте, John1979, Вы писали:

L>>Ну внеси инкрементальное изменение, которое позволяет избавиться от зависимости от глобального объекта, отрастающего из легаси кода и используемого почти везде. Только чтобы проект сразу и собирался и работал.

J>вносил, делается это за много шагов, но результатом каждой итерации у тебя работающий результат.

Не, не, речь была об одном инкрементальном изменени. "Много шагов" — это уже неувязочка.

J>обычно эта зависимость не является единственной проблемой этого говнокода, поэтому сначала ты рефакторишь совсем не часть завязанную на глобальный объект, попутно подготавливая почву для отвязки от него.


Воот. И пока ты "подготавливаешь почву" проект либо просто не собирается, либо собриается, но не работает, либо просто нет смысла делать его собираемым.
www.blinnov.com
Re[13]: факапы на работе
От: John1979  
Дата: 05.04.17 12:55
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Но иногда

ты сам это сказал
исключительные ситуации бывают, но на то они и исключительные.
Re[15]: факапы на работе
От: John1979  
Дата: 05.04.17 12:58
Оценка:
Здравствуйте, landerhigh, Вы писали:

L>Не, не, речь была об одном инкрементальном изменени. "Много шагов" — это уже неувязочка.

бинарная логика детектед.
речь шла о поддержании проекта в :
— компилябельном
— рабочем

состояниях.

одно инкрементальное изменение гарантирует тебе оба пункта.
о том, что ты одним изменением фикснешь весь говнокод никто не говорил.

L>Воот. И пока ты "подготавливаешь почву" проект либо просто не собирается, либо собриается, но не работает, либо просто нет смысла делать его собираемым.

собирается, работает и смысл есть.
при этом ревьюверу проще
при этом такой рефакторинг в огромных проектах может растянуться на месяцы, уделяться ему может 10-20% времени.
в результате у тебя и проект не стоит на месте, и при этом конюшни помаленьку чистятся.
Re[16]: факапы на работе
От: landerhigh Пират  
Дата: 05.04.17 12:59
Оценка:
Здравствуйте, John1979, Вы писали:


L>>Воот. И пока ты "подготавливаешь почву" проект либо просто не собирается, либо собриается, но не работает, либо просто нет смысла делать его собираемым.

J>собирается, работает и смысл есть.

Ну внеси инкрементальное изменение, которое позволяет избавиться от зависимости от глобального объекта, отрастающего из легаси кода и используемого почти везде

www.blinnov.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.