Если в кодовой базе не разграничен оунершип - кто за что отвечает, - то она вся целиком становится одним большим публичным контрактом, со всеми вытекающими. Но это фиксится только на уровне процессов - научить уважать частную собственность и не лазить через временные ограждения, которые рабочие поставили на время ремонта.
Тут можно попробовать назвать разные ситуации разными словами. Например рефакторинг оставить за чисто внутренними изменениями, ближе к гигиеническим, как зубы почистить. Поправить названия, чтобы соответствовали нейминг конвеншен - ок, но только не в шареных модулях и не публичных контрактах. А более глобальные переделки назвать например реконструкцией (буквально когда перестраивается каркас на котором могут сидеть ваши коллеги).
рефакторинг — это преобразование кода из одной формы в другую с полным сохранением поведения
Ключевой вопрос, что делаем с обратной совместимостью?
Если сохраняем, то переименования нужно запрещать (и часть примеров из статьи надо переписывать). Новое можно только добавлять. А удаление старого-ненужного это тогда не рефакторинг, а энхансмент.
Если же обратная совместимость не интересует, тогда многие церемонии можно упростить (ломать так ломать).
Здесь я конечно имею ввиду вырожденные примеры, чисто в образовательном смысле. На практике все разумеется будет по ситуации.
Знаете, в чем разница между пингвином и бизнес-коучем? Оба машут руками и рассказывают, как важно планировать, но пингвин хотя бы выглядит солидно в своем смокинге.
Вот, кстати, фейлы (игнорирование) при пайпах меня тоже как-то сильно удивили. Очень уж неинтуитивно.
Потому, что например в `cat file | head`, этот head как только получает достаточно данных, закрывает входной поток, а cat получает SIGPIPE и умирает с ошибкой. Это эффективно, т.к. файл не надо читать до коца. Но если пайп не проигнорит ошибку от cat, то с ошибкой завершится и вся эта конструкция, что будет конфузить.
Опровергнуть это можно лишь опровергнув посылки. Что вы и сделали, ослабив посылки до "редко". Надо понимать, что это формальная логика, и мы говорим именно о форме суждения.
Формально вы правы - именно с такими допущениями и решаются задачки на олимпиадах. Но на практике всего знать невозможно. Поэтому все такие умозаключения приходится ставить под сомнение и тщательно валидировать с реальностью.
Изрядная доля харизмы Холмса получается как раз из того, что он в своих выводах не сомневается, в отличие от всех нормальных людей. Хотя пару раз ему это выходило боком.
Скрытый текст
— Уотсон, — сказал он, — если вам когда-нибудь покажется, что я слишком полагаюсь на свои способности или уделяю случаю меньше старания, чем он того заслуживает, пожалуйста, шепните мне на ухо: «Норбери» — и вы меня чрезвычайно этим обяжете.
Недокуренные сигареты это недополученное удовольствие и деньги на ветер. Курильщики давно научились ее решать разными способами. Например, при помощи мундштука. Или можно держать, направив вниз и прикрывать пальцами сверху. Короче, нет ни каких проблем выжечь сигарету до конца - хоть с усами, хоть без них. В той сцене логика у Холмса скорее больше работает как риторический инструмент социальной инженерии, - чтобы повлиять на мнение оппонента, - нежели используется по своему прямому назначению. Но вы и сами были против излишне математической трактовки.
Тот же Copilot в подписке даёт несколько простых моделей анлим (типа GPT-5-mini), а Gemin 3 flash или Grok стоят копейки. Часто на этапе реализации у меня работает несколько саб-агентов параллельно - на локалхосте так не отмасштабировать. По-моему если можно пользоваться большими моделями, то возиться с Ollama смысла нет.
Чегонетуметр
Если в кодовой базе не разграничен оунершип - кто за что отвечает, - то она вся целиком становится одним большим публичным контрактом, со всеми вытекающими. Но это фиксится только на уровне процессов - научить уважать частную собственность и не лазить через временные ограждения, которые рабочие поставили на время ремонта.
Тут можно попробовать назвать разные ситуации разными словами. Например рефакторинг оставить за чисто внутренними изменениями, ближе к гигиеническим, как зубы почистить. Поправить названия, чтобы соответствовали нейминг конвеншен - ок, но только не в шареных модулях и не публичных контрактах. А более глобальные переделки назвать например реконструкцией (буквально когда перестраивается каркас на котором могут сидеть ваши коллеги).
Хорошие тезисы.
Ключевой вопрос, что делаем с обратной совместимостью?
Если сохраняем, то переименования нужно запрещать (и часть примеров из статьи надо переписывать). Новое можно только добавлять. А удаление старого-ненужного это тогда не рефакторинг, а энхансмент.
Если же обратная совместимость не интересует, тогда многие церемонии можно упростить (ломать так ломать).
Здесь я конечно имею ввиду вырожденные примеры, чисто в образовательном смысле. На практике все разумеется будет по ситуации.
ПО РВИ
"Заявки на товарные знаки, знаки обслуживания" ещё ни кто не зарегистрировал как товарный знак?
Март у многих ещё зима.
Искусство это диалог между кодом автора и воображением адресата. А вообще - закон По.
Купить этому мороженое.
Главное не забыть зарядить машину памяти.
Знаете, в чем разница между пингвином и бизнес-коучем? Оба машут руками и рассказывают, как важно планировать, но пингвин хотя бы выглядит солидно в своем смокинге.
Тут скорее имеется ввиду ситуация, когда владелец сервиса поменяет ваш публичный ключ на другой, от которого он знает и приватный.
Яндексу карты уже научились искать адреса и управляться голосом в оффлайн?
Наверное только если стоять в пробке. Зона действия WiFi пролетается раньше, чем приёмник успевает что-то поймать.
Потому, что например в `cat file | head`, этот head как только получает достаточно данных, закрывает входной поток, а cat получает SIGPIPE и умирает с ошибкой. Это эффективно, т.к. файл не надо читать до коца. Но если пайп не проигнорит ошибку от cat, то с ошибкой завершится и вся эта конструкция, что будет конфузить.
В глубину?
Формально вы правы - именно с такими допущениями и решаются задачки на олимпиадах. Но на практике всего знать невозможно. Поэтому все такие умозаключения приходится ставить под сомнение и тщательно валидировать с реальностью.
Изрядная доля харизмы Холмса получается как раз из того, что он в своих выводах не сомневается, в отличие от всех нормальных людей. Хотя пару раз ему это выходило боком.
Скрытый текст
Недокуренные сигареты это недополученное удовольствие и деньги на ветер. Курильщики давно научились ее решать разными способами. Например, при помощи мундштука. Или можно держать, направив вниз и прикрывать пальцами сверху. Короче, нет ни каких проблем выжечь сигарету до конца - хоть с усами, хоть без них. В той сцене логика у Холмса скорее больше работает как риторический инструмент социальной инженерии, - чтобы повлиять на мнение оппонента, - нежели используется по своему прямому назначению. Но вы и сами были против излишне математической трактовки.
Антропику министерство войны доплачивает за данные россиян /s
Тот же Copilot в подписке даёт несколько простых моделей анлим (типа GPT-5-mini), а Gemin 3 flash или Grok стоят копейки. Часто на этапе реализации у меня работает несколько саб-агентов параллельно - на локалхосте так не отмасштабировать. По-моему если можно пользоваться большими моделями, то возиться с Ollama смысла нет.
Станут Иванушки-Интернационалъ вот тогда и запоют.