Здравствуйте, Тёмчик, Вы писали:
Тё>>>Ну давай, расскажи нам, как заменить стек не-хвостовой рекурсии на цикл. CC>>Артёмка, не позорься! Тё>Ты даже не понял, о чём речь, не так ли?
Нет Артёмка, это просто ты не в курсе как это делается. Хвостовая вообще примитивно, в таком раскладе изначально рекурсию грех писать. Обычная всего то чуточку сложнее, с ручной манипуляцией контекстом. Но переделать в фиксированное использование стекового фрейма можно любую.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, sergey2b, Вы писали:
S>если не секрет что вы сделали что бы уменьшить падения, у меня был разный опыт наиболее успешныее примеры
Проверка кода пачкой статических анализаторов, активное использование -Werror, запуск тестов собранных с санитайзерами, обязательное ревью вообще всего кода, у кода всегда есть владельцы принимающие окончательное решение о мержде. Если что-то выдало предупреждение — запрет на мердж пока все предупреждения не исправлены.
Здравствуйте, CreatorCray, Вы писали:
Тё>>>>Ну давай, расскажи нам, как заменить стек не-хвостовой рекурсии на цикл. CC>>>Артёмка, не позорься! Тё>>Ты даже не понял, о чём речь, не так ли?
CC>Нет Артёмка, это просто ты не в курсе как это делается. Хвостовая вообще примитивно, в таком раскладе изначально рекурсию грех писать. Обычная всего то чуточку сложнее, с ручной манипуляцией контекстом. Но переделать в фиксированное использование стекового фрейма можно любую.
Какая ещё "ручной манипуляцией контекстом"? Ты вообще понял, что рекурсия- это про стек прежде всего? То, что ты вместо использования стека thread организуешь стек на чём-то ещё, не отменяет расхода памяти. Это "где-то ещё", если это куча, снизит. перфоманс.
Кроме того, современные оптимизирующие компиляторы C++ и JIT разворачивают хвостовую рекурсию в цикл. Твои потуги только заговняют код.
Здравствуйте, kaa.python, Вы писали:
KP>обязательное ревью вообще всего кода, у кода всегда есть владельцы принимающие окончательное решение о мержде. запрет на мердж пока все предупреждения не исправлены.
Можно обойти любые предупреждения и требования к покрытию например, и потом оно падает и тормозит. Ревьювить одному поток из 20 реквестов в день напряжно. Особенно, если процесс вызывает батхерт нагрубить автору. PR выстраиваются в беклог, обрастают мерж конфликтами, стринты срываются фиче-дедлайны срываются, потом фичекаты. В итоге под давлением "мержить всё равно нужно", требования прочитать весь код ослабляются, делегируется на других менее привередливых ревьюверов.
Здравствуйте, Тёмчик, Вы писали:
Тё>Можно обойти любые предупреждения и требования к покрытию например, и потом оно падает и тормозит. Ревьювить одному поток из 20 реквестов в день напряжно. Особенно, если процесс вызывает батхерт нагрубить автору. PR выстраиваются в беклог, обрастают мерж конфликтами, стринты срываются фиче-дедлайны срываются, потом фичекаты. В итоге под давлением "мержить всё равно нужно", требования прочитать весь код ослабляются, делегируется на других менее привередливых ревьюверов.
Я тебя читаю и дивлюсь. Ты вообще хоть в одной серьёзный компании поработал? Я понимаю что у тебя там только JS на острове остался из опций, но то что ты пишешь тут вообще мрак.
Здравствуйте, kaa.python, Вы писали:
KP>>>активное использование -Werror CC>>Это вообще обязательно с самого начала проекта.
KP>С самого начала — да, однозначно. Хуже когда проект старый и тогда такой практики ещё не было. Вот в этих случаях сложнее
Вы так говорите, как будто никому из вас не приходилось использовать Asio или fmtlib из clang-а последних версий
Здравствуйте, kaa.python, Вы писали:
Тё>>Можно обойти любые предупреждения и требования к покрытию например, и потом оно падает и тормозит. Ревьювить одному поток из 20 реквестов в день напряжно. Особенно, если процесс вызывает батхерт нагрубить автору. PR выстраиваются в беклог, обрастают мерж конфликтами, стринты срываются фиче-дедлайны срываются, потом фичекаты. В итоге под давлением "мержить всё равно нужно", требования прочитать весь код ослабляются, делегируется на других менее привередливых ревьюверов.
KP>Я тебя читаю и дивлюсь. Ты вообще хоть в одной серьёзный компании поработал? Я понимаю что у тебя там только JS на острове остался из опций, но то что ты пишешь тут вообще мрак.
Всё зависит от ракурса. У тебя хорошо прокачан скилл PR.
Здравствуйте, Тёмчик, Вы писали:
Тё>Можно обойти любые предупреждения и требования к покрытию например, и потом оно падает и тормозит. Ревьювить одному поток из 20 реквестов в день напряжно. Особенно, если процесс вызывает батхерт нагрубить автору. PR выстраиваются в беклог, обрастают мерж конфликтами, стринты срываются фиче-дедлайны срываются, потом фичекаты. В итоге под давлением "мержить всё равно нужно", требования прочитать весь код ослабляются, делегируется на других менее привередливых ревьюверов.
Не так. К релизу есть фича, если она запаздывает хотя бы на день, то фича в него не включается. Есть вероятность, что команду разгонят после регулярных прое..в. Вот это нормальный процесс, а не как у тебя
Здравствуйте, Nuzhny, Вы писали:
N>Не так. К машину есть фича, если она запаздывает хотя бы на день, то фича в него не включается. Есть вероятность, что команду разгонят после регулярных прое..в. Вот это нормальный процесс, а не как у тебя
Ну, т.е. фичекат. О чём я и написал. Альтернатива фичекату- ослабить граммарнаци, делегировать менее привередливым товарищам, беречь нервы.
Может быть, у тебя темп разработки не такой высокий, поэтому ты не сталкивался.
Здравствуйте, Тёмчик, Вы писали:
Тё>Ну, т.е. фичекат. О чём я и написал. Альтернатива фичекату- ослабить граммарнаци, делегировать менее привередливым товарищам, беречь нервы. Тё>Может быть, у тебя темп разработки не такой высокий, поэтому ты не сталкивался.
Это про цену ошибки. Когда-то это было ПО, которое обновлялось у миллионов человек и репутационные потери были намного дороже любой фичи.
Был опыт в видеонаблюдении, когда профукивался архив с видеосъемкой преступления. Что в маленьком городе грозило полным отказом от услуг организации.
Или ошибка может единократно провалить аэрофотосъёмку, что миллионы для клиента и, скорее всего, потеря клиента.
У других тут в автопроме цена уже выше — человеческие жизни. Может, это ты не сталкивался?
Здравствуйте, so5team, Вы писали:
S>Вы так говорите, как будто никому из вас не приходилось использовать Asio или fmtlib из clang-а последних версий
Надеюсь и не придётся. Я в кернеле живу
S>PS. А как же -Wall?
Этот скорее вреден, уж больно параноидальные нынче компиляторы пошли.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Тёмчик, Вы писали:
KP>>Я тебя читаю и дивлюсь. Ты вообще хоть в одной серьёзный компании поработал? Тё>Всё зависит от ракурса. У тебя хорошо прокачан скилл PR.
Т.е. ответ — нет.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Nuzhny, Вы писали:
Тё>>Ну, т.е. фичекат. О чём я и написал. Альтернатива фичекату- ослабить граммарнаци, делегировать менее привередливым товарищам, беречь нервы. Тё>>Может быть, у тебя темп разработки не такой высокий, поэтому ты не сталкивался.
N>Это про цену ошибки. Когда-то это было ПО, которое обновлялось у миллионов человек и репарационные потери были намного дороже любой фичи. N>Был опыт в видеонаблюдение, когда перелетая архив с видеосъемкой преступления. Что в маленьком городе грозило полным отказом от услуг организации.
Да ладно, кто-то поистерил и успокоился, архив нашёлся, надеюсь, про бекапы в этой серьезной организации слышали?
N>Или ошибка может единократно провалить аэрофотосъёмка, что миллионы для клиента и, скорее всего, потеря клиента. N>У других тут в автопрома цена уже выше — человеческие жизни. Может, это ты не сталкивался?
Ну да, цена ошибки высока. В C++ сделать ошибку ещё проще. Лицензия как правило, сразу заставляет отказаться от претензий.
Я не поверю, что человек за год не видел ни одного сбоя, вообще. Когда ничего не делается, там нет ошибок. Когда десятки человек одновременно коммитят фичи- там уследить тяжело. Только со временем накапливается пласт покрывающих это всё авто тестов (не учитывая UT), но количество возможных комбинаций получается огромное.