Не трогай то что работает поговорка
Не трогай что работает
Извиняюсь если баян, только дошел до этого сериала) Корона. 1-4. 56:30
Купитман дело говорит
я так могу в две смены
– Ваше величество, если вы возьметесь судить это дело, люди воспримут это как поддержку той или иной стороны. – Старики закивали, закряхтели, уныло заерзали в своих неудобных креслах.
– Объявите Веттерланта невиновным, и в этом увидят кумовство и покрывательство, что усилит позиции всевозможных изменников вроде ломателей, которые воспользуются этим случаем, чтобы обратить против вас простонародье.
– Однако если вы решите, что Веттерлант виновен… – Городец угрюмо подергал себя за бороду, и остальные старики поддержали его беспокойным ворчанием. – Знать сочтет это публичным оскорблением, атакой на свои позиции, предательством! Это даст козырь в руки вашим противникам в Открытом совете, и это в тот самый момент, когда мы пытаемся обеспечить вам беспрепятственную передачу власти!
– Порой мне кажется, – резко произнес Орсо, потирая намятые короной места над висками, – что последствия любого решения, которое я приму в этом кабинете, неизбежно окажутся одинаково плохими, так что наилучшим выходом для меня будет вообще не принимать решений!
Хофф снова обвел взглядом стол:
– Для короля, – изрек Первый из магов, – предпочтительнее держаться в стороне от любых сторон.
И все закивали, словно удостоились услышать глубочайшую мудрость всех времен
«Работает — не трожь!» Насколько этот совет применим в работе программиста?
Перевод статьи «Advice to programmers: If it works, don’t fix it. Or?».
Представьте то программное обеспечение, над которым вы работаете. Оно было написано другими программистами еще до того как вы присоединились к команде и по-прежнему работает должным образом. Бывает, всплывают баги, которые приходится исправлять, но это вполне ожидаемое явление. А больше ничего плохого сказать о программе вроде бы и нельзя. По крайней мере, так кажется со стороны. Эта программа решает проблемы пользователей и работает в соответствии с ожиданиями.
На как насчет кода? Как насчет программистов? Что они думают о своей программе?
Как один из разработчиков, участвовавших в создании этого ПО, вы видите все совершенно иначе. Для начала, вы считаете, что кодовая база слишком велика. Вы уверены, что можно было бы создать точно такой же функционал, но при этом обойтись куда меньшим количеством кода.
Вам кажется, что кодовая база также слишком сложна. Вы знаете, что этот код можно было бы написать получше, более простым и хорошо структурированным образом.
Добавление нового функционала и вообще реализация чего-то нового протекает сложно и болезненно, потому что вам приходится учитывать то, как связаны между собой разные части кода. Из-за этого внесение изменений становится небыстрым процессом.
Как насчет дебаггинга? На обнаружение и исправление багов также уходит слишком много времени.
Но если не принимать во внимание плохой дизайн и некрасивость кода, программа работает хорошо и пользователи довольны. И вы оказываетесь на раздорожье, где вам приходится выбирать один из возможных путей. С одной стороны, можно следовать старому инженерному правилу «Работает — не трожь!», а с другой стороны не помешало бы провести рефакторинг, чтобы сделать код более понятным и читаемым, и тем самым облегчить себе дальнейшую работу над этой кодовой базой. Какой путь выбрать?
Два типа мышления у программистов
Прежде чем дать ответ относительно выбора направления, я хотел бы немного остановиться на типах мышления программистов относительно исправления плохого, но рабочего кода.
Одни программисты четко следуют старому правилу «Не сломано — не исправляй». Для них стиль кода не имеет большого значения. Это программисты, для которых важен результат.
Код может быть сложным и плохо структурированным, он может не соответствовать важным принципам программирования, но этих программистов не волнует то, насколько хорошо написан код. Их беспокоит только то, что этот код делает.
Поэтому для таких программистов исправление плохо написанного кода это напрасная потеря времени. Код работает. Зачем же его трогать?! Кроме того, существует большой риск того, что в процессе исправления кода будут внесены новые баги.
Программисты с таким типом мышления просто не будут трогать старый код без острой необходимости.
Есть и другие программисты, с другим типом мышления. Они воспринимают код как произведение искусства, и им просто некомфортно, если код не соответствует их стандартам (хотя и работает). Читая плохо написанный код, они будут чувствовать отвращение. Они будут пытаться исправить каждый кусочек кода в проекте, потому что для них важен стиль написания кода, да и вообще, в коде все должно быть прекрасно.
Эти программисты чересчур одержимы стилем. Даже если их коллеги пишут хорошо структурированный код, они будут предпринимать попытки изменить его, чтобы подогнать под свой стиль написания.
В общем, программисты такого склада уж точно не будут следовать правилу насчет того, что не надо чинить несломанное. Они будут исправлять все. И то, окажется ли в конечном итоге этот код рабочим, имеет для них второстепенное значение.
Какое решение этой проблемы будет наилучшим?
Возьмите те части кода, над которыми вы работаете активнее всего, и исправьте их, сделав более читаемыми и понятными. Не трогайте другие части, если они работают должным образом и не имеют багов.
Почему важно уделить внимание основным частям? Именно с ними вы работаете чаще всего. Именно их чаще всего приходится читать. Именно в них чаще всего приходится вносить изменения. И если потребуется добавить в программу новый функционал, он напрямую будет связан с ядром кодовой базы. Также именно в основных частях содержится наибольшее количество багов, которые придется находить и исправлять. Помните о принципе Парето: «20% кода содержат 80% ошибок. Найдите их и исправьте!»
Как насчет остальных частей кодовой базы?
С ними вы работаете редко. В них нет багов. Написаны они давно — месяцы, а то и годы назад — и работают, как должно. Просто они не выглядят красиво. Но даже с учетом того, что их можно было бы переписать, чтобы сделать проще, читабельнее и понятнее, делать это вовсе не обязательно. Кто знает, когда вам вообще придется в следующий раз глянуть на этот код или что-то менять в нем? Так что эти части вполне могут остаться в своем исходном состоянии. Вы можете потратить свое время более эффективно — работая над вещами поважнее.
Почему важно исправлять основные части кода, даже если они работают должным образом?
Если вы хотите, чтобы ваша программа служила пользователям верой и правдой долгие годы, ваш продукт должен оставаться поддерживаемым. А поддерживаемость предполагает, что внесение изменений не должно быть трудным делом. Отладка и исправление багов не должны занимать слишком много времени. Добавлять новый функционал должно быть просто. При таком положении дел будут довольны как программисты, так и пользователи программы.
Мартин Фаулер в своей книге «Рефакторинг. Улучшение проекта существующего кода» говорит: «Когда вы представляете себе программистов, вы думаете, что они проводят большую часть своего времени за написанием кода. Но на самом деле то лишь малая часть их работы. Большую часть своего времени программисты проводят за чтением и отладкой кода. Каждый программист может рассказать свою историю о баге, который пришлось искать целый день. Исправление бага обычно происходит довольно быстро, но поиски это настоящий кошмар».
Чем лучше написан ваш код, тем проще в нем разобраться. А чем проще в нем разобраться, тем легче ваша работа.
Вот почему важно не следовать старому правилу инженеров в отношении основных частей вашей кодовой базы.
«Если это работает — не трогай!» ©
Зачем учиться классическому броску, если «из-под юбки» выдаешь 90% попаданий:
Баскетбол
734 поста 1.1K подписчика
Правила сообщества
Уважительно относитесь к клубным пристрастиям пикабушников: не оскорблять клубы, игроков, тренеров и т.д.
— нарушать правила Пикабу,
— размещать посты не о баскетболе,
— тщательно проверяйте посты на баяны.
Если это выглядит глупо, но это работает, то это не глупо
А вот ещё вопрос к знатокам, обычно профессионалы все очень меткие (даже 25 летний тренер сына по баскетболу забивает с отскока, и с середины площадки), почему тогда они не лупят с половины площадки? Там же 3 очка дают.
Для всех, кто думает, что так бросать штрафные(и не только) некий нонсенс у профи
Для ЛЛ: нет он не промахнется на 10 раз. И вообще в этой гифке всего 2 броска.
Смотрел два часа, насчитал сто процентов попаданий.
Боюсь это только на штрафных будет работать, с игры такой бросок очень легко заблокировать.
Шакил О’Нил как то сказал что лучше буду мазать штрафные чем бросать «из под юбки»
Сорри, что без перевода, но в принципе все понятно
бабушкин бросок. Лет 5 назад игрок из хьюстона(нба) ввел заново на него моду=)
Вот оно чо. Физрук говорил кидать в левый квадрат сверху
Значит, не может он по-другому. Я когда теннисом занимался, у меня была чудовищная подача, очень низкий подброс далеко перед собой. Все тренеры хватались за голову и пытались переучивать, но так и не смогли. Но ведь работала! Сила терялась (но не критично), зато точность была очень приличная. Ещё и кошмарный одноручный бэкхенд… И ничего, нормально играл на своём любительском уровне.
Только женщины и дети
я в школе постоянно одной рукой кидал мяч, очень часто попадал, двумя так и не научился) но в школе канеш проще, там меньше поле
Дело было в 1989 году. Больше я в баскет не играл.
Сколько он всего мячей забросил на этом видео? А то я насчитал 2000 и устал смотреть.
Написано про 90% попаданий, но я смотрю уже минут 15 и чувак пока выдаёт все 100%
Кажется, я не один такой остряк тут
сколько он бросков сделал? я насчитал 14.
у нас этот бросок назывался «из под яица»)
У нас в детстве такое называлось из под яйца, а не из под юбки.
Прошу максимальной огласки и помощи Пикабу. Закрывают баскетбольный зал школы олимпийского резерва в г. Электросталь
Мой первый пост и такой безрадостный. Очень волнуюсь. Без рейтинга.
Прошу придания максимальной огласке факт закрытия баскетбольного зала школы олимпийского резерва в г. Электросталь. Зал аттестован для проведения соревнований и приспособлен для проведения тренировок, но в понедельник 6 декабря зал уже будет закрыт по причине аварийного состояния, хотя документов, подтверждающих это нет. Закрывают одним махом посреди учебного года. Старших детей переводят в зал, который находится в еще худшем состоянии, чем наш и не аттестован для проведения соревнований. В этом зале сейчас занимаются футболисты, и которых планируют от туда выгнать. Младших переводят по физкультурным залам в школы города, которые не соответствуют требованиям для баскетбольных залов (высота колец, размер площадки, разметка), где нет необходимого для тренировок инвентаря. Позднее планируют перевести в платный зал на восточной стороне города, который отделен от всей остальной части города переездом и который итак переполнен. Кто живет в Электростали, знает, что на этом переезде собираются огромные пробки, а обещанную эстакаду мы ждем уже много лет. О возвращении нашего зала не идет и речи. Администрация говорит о выделенном участке, где когда-нибудь построят зал для занятия баскетболом. По факту сейчас зал закрывают, а замены ему нет.
Вчера в спортшколе было собрание родителей с директором. Видео с собрания https://vk.com/video-35963721_456239859
Позднее подъехала глава города Волкова. На вопрос о документах, на основании которых закрывают зал предъявила сделаный на скорую руки приказ, законность которого вызывает большие сомнения.
Сейчас родителями пишутся письма в различные инстанции, готовится видеообращение.
Прикладываю текст коллективного обращения родителей.
Несмотря на то, что Правительством Российской Федерации прилагаются все усилия для поддержания и развития детско-юношеского спорта в России, в городском округе Электросталь Московской области осуществляется самая настоящая попытка по уничтожению спорта и детско-юношеского баскетбола, в частности.
Это выражается в том, что глава г.о. Электросталь Волкова И.Ю. своим личным устным распоряжением остановила в середине учебного года весь тренировочный процесс и запретила с 06.12.2021 г. проведение тренировок по баскетболу в единственном спортивном зале во всем городе, где они проходили.
Свое решение она обосновывает тем, что данное спортивное сооружение якобы находится в аварийном состоянии. Решение данного должностного лица о признании указанного спортивного объекта аварийным считаем безосновательными, так как:
1. Отсутствует оценка межведомственной муниципальной комиссии о признании данного объекта капитального строительства непригодным к эксплуатации по выявленным основаниям.
2. Техническое обследование состояния строительных конструкций и инженерных коммуникаций данного объекта экспертной организацией не проводилось.
3. Строительно-техническое заключение специализированной аккредитованной организации о текущем состоянии здания и о том, что оно находится в аварийном состоянии и его эксплуатация запрещена-отсутствует.
Также сообщаем, что в начале 2021 года на уровне Министерства физической культуры и спорта Московской области и Администрацией г.о. Электросталь были достигнуты конкретные договоренности о поэтапном выделении средств по 50 миллионов рублей каждый год в течении трех лет на капитальный ремонт и реконструкцию данного спортивного объекта, и с с 2022 года должно было начаться его финансирование.
Сегодня город не имеет альтернативы и равнозначного спортивного объекта, куда можно было бы перенести тренировки по баскетболу детско-юношеских команд в случае закрытия спортивного зала на ул. Пионерская, д. 8.
Перенос тренировок в спортивные залы различных учебных заведений по всему городу, как планирует Волкова И.Ю., которые и так перегружены своими спортивными мероприятиями, требуют ремонта и не соответствуют необходимым спортивным нормам, приведет к нарушению всего учебно-тренировочного процесса, распаду тренерско-преподавательского состава, и как следствие-приведет к полному уничтожению детско-юношеского баскетбола в городе.
Сегодня спорт и баскетбол в частности-это то, что помогает нашим детям расти здоровыми, умными, становится полноценными гражданами нашего общества, что удерживает их от негативного влияния интернета, защищает от различных деструктивных общественных явлений, не дает скатиться к алкоголизму, наркомании и подростковой преступности. Если спортивный зал будет закрыт, то 500 мальчишек и девчонок окажутся попросту «выкинутыми» на улицу и предоставленными сами себе.
На основании всего вышеизложенного просим защитить наших детей, и оказать содействие в следующем:
1. В сохранении спортивного зала, расположенного по адресу: г. Электросталь, ул. Пионерская, д.8, для нужд и тренировок по баскетболу на базе Спортивной Школа Олимпийского Резерва по игровым видам спорта.
2. В проведении необходимого ремонта данного спортивного объекта на условиях регионального и муниципального финансирования.
Когда никто не трогал то, что работает
Почему моя пыль на роутере не такого очаровательного розового оттенка?
Не роутер 🙂 коммутатор
У друга была довольно большая сеть в городе, на чердаках приходилось ставить свичи роутеры итд
И постепенно люди их начали пиздить
Он по началу начал городить железные ящики сейфы замки, но это не сильно помогало, свичи пиздили ящики сдавали на металл,
Он придумал гениальный ход, он стал снимать со свичей корпуса, а кому нужна неизвестная плата да ещё и без корпуса, на базаре такую не продать, дома юзать тоже не очень интересно, кражи прекратились, ну или сильно уменьшились.
@mechan0, может быть достойно рисунка? Древний и тайнственный храм, в который столетиями не ступала нога человека, а внутри коммутатор)
Привет любителям старых надежных делинков вроде дир-300 и дир-615. Да и многих других)
Смотря про какие заросли идёт речь)))
3.2K постов 3.4K подписчиков
Правила сообщества
1) Политические посты (будут выноситься в общую ленту). Примечание: пост считается политическим, если на него установлен тег «Политика» автором поста, голосованием пользователей, или модератором Pikabu;
2) Посты, не связанные с тематикой сообщества (будут выноситься в общую ленту). Примечание: сообщество посвящено новостям и скриншотам, которые связаны с социальной сетью «Twitter»;
3) Новостные посты не связанные с тематикой новостей про Twitter. Для них есть сообщество Новости.
При нарушениях правил сообщества вызывайте аккаунт @admoders
В остальном анархия в пределах правил Pikabu – они находятся в компетенции @moderator
Меня недавно спросили, почему программисты ненавидят работать с чужим кодом. Долго думал, как донести до обычного пользователя всю суть пиздеца. Решил привести небольшую аналогию:
Вот представь, что тебе доверили достроить за другим прорабом лабораторию на острове. Ты приходишь на объект, а там кроме недостроенного здания: огромный вентилятор (размером со здание), большой воздушный шар и комната набитая швабрами. Почесав голову, ты разбираешь этот хлам и доделываешь лабораторию. Сдаешь объект ученным, но через 5 минут они выбегают с криком: «УТЕЧКА ЯДОВИТОГО ГАЗА. «.
— Вася, у нас ядовитый газ потёк! В чем проблема?
— Не знаю, должно было все работать. Что-то в проекте менял?
— Немного, швабры вынес.
— Швабры потолок держали!
— Говорю, швабры потолок держали. Над ними цистерны с газом были. Очень тяжелые, пришлось в комнату снизу швабры напихать.
— Ты хотя бы записку на двери повесил бы, что швабры для держания потолка! У нас тут ядовитый газ течет! Что нам делать?
— Включай вентилятор. Он сдует газ с острова.
— Зачем ты построил 120 тонный вентилятор? Ты не мог положить ящик блядских ПРОТИВОГАЗОВ?
— Ящик противогазов искать нужно, а вентилятор у меня с прошлого заказа оставался.
— Вася, я убрал твой вентилятор! Мы тут задыхаемся!
— Херли вы тогда там делаете? Садитесь на воздушный шар и уебывайте!
Двое их тупых — меч и самурай код и Александр
Ну, если MVP или хотфикс, то можно и с помарками на пока что, иногда нельзя в синдром отличника ударяться просто так.
Кстати, товарищ меркурий на скрине может быть прав. Недостаточная оптимизация замедляла код, что позволяло его отдельным (например, распараллеленым) частям завершать работу в ожидаемом окне времени, а не «слишком быстро» или «слишком медленно».
Сам не кодер, но it happens прочитал целиком в своё время, с 1ого поста.
Чиатешь и думаешь. Почему в Айти работают одни далбаебы, которым плевать на качество продаваемого продукта
Сказка
Ответ на пост «Уборщицы важны!»
История из 90х со слов моей мамы-педагога.
Идет педсовет, распахивается дверь, залетает уборщица и начинает кричать и требовать что-то у директора.
Он: «Выйдите! Иначе уволю. «
Первый раз все видели, чтобы директор растерялся))
Просьба к публикациям с косплеерами
Обращаюсь к любителям к косплея и публикантам:
Не могли бы вы в начале поста прикладывать изображение косплеируемого персонажа, даже если он вам кажется известным? Здесь далеко не все в теме игр, аниме и мультсериалов. Это позволило бы оценить сходство и авторский подход к персонажу, а не только лишь формы моделей.
Предложение
Ответ на пост «Открой банку»
О, у меня похожая история!
Желаю всем понимающих партнеров 🙂
Учителя, рассказавшего о зарплате, обвиняют в экстремизме
🇷🇺Сельского учителя, опубликовавшего посты о жизни на 14 тысяч рублей, обвиняют в экстремизме
Уволили с работы
Продолжение поста «Бородатый шашечник»
Бойца ММА Чоршанбе «все русские — нацисты» Чоршанбиева отпустили из полиции, выписав два штрафа. Боец стал на 10 тысяч рублей беднее.
Чоршанбиева задержали утром в Москве. При нём были таджикские права (в России недействительны), а полиса ОСАГО, наоборот, не было. Кроме того, борец записывал в Инсте видео, где демонстрировал опасную езду. А про то, как он не любит Россию и все русские — нацисты, он рассказывал на стриме ещё в августе 2020-го.
Итог: «Тойота Камри» Чоршанбиева отправлена на штрафстоянку. Чтобы забрать её, надо будет заплатить 9к за езду без прав и 1к за то, что не было страховки.
Вот и всё, можешь продолжать бесоебить.
Он потенциальный убийца, почему не в тюрьму или миллион штрафа. Почему так?
Блокировка TOR в России
Ну что народ, соберёмся против дилеров?
Устал пока прикреплял эту картинку
Глаза боятся. а руки из ж»пы
Хроники Амбера. Пересказ простым языком, часть 1
В таком случае у вас два варианта: либо вы герой серии книг Роджера Желязны «Хроники Амбера», либо:
Попутно герой вспомнил, что попал в аварию на автомобиле, но больше ничего. Медбрату с помощью силы своего убеждения и железного прута из кровати герой пояснил, что принимать очередную дозу он не хочет, позаимствовал белый халат и пошел искать доктора, не иначе как с целью победить того и занять его место. Найдя доктора он опять же силой своего убеждения и отобранного у доктора пистолета герой узнал, что его зовут Кори и что в клинику его привезла сестра Эвелин. Угрожая судом за несанкционированные бэд-трипы, Кори выбил у доктора адрес, отступные в виде пачки долларов, чистой одежды и такси. Последнее было важным, ибо поциент всё ещё не знал где находится, и только когда доктор звонил, узнал, что находится в клинике Гринвуд на севере штата Нью-Йорк.
Флора, узнав, что Рандом едет сюда под покровительство Корвина, одним взглядом дала понять, что он гений тактики и стратегии. Ничего не понимающий Корвин кивал с важным видом до самого прибытия брата.
Ребята, если вам пересказ Хроник Амбера всё таки интересен (дальше пойдёт бодрее, ибо надо сначала читателей ввести в курс дела), дайте знать комментами да оценками, я всё равно всё читаю, даже бред)