Re: Системы управления сервером?
> artiom -> debian-russian@lists.debian.org @ Mon, 26 Mar 2018 20:53:38 +0300:
>
> >> >> В идеале пишутся тесты. Часть заранее, часть по мере наступания на
> >> >> грабли :) Код на Haskell и Scala даже и не тестируется автомагически,
> >> >> настолько мало там багов, что написание тестов не окупается.
> >> >>
> >> > Ну это две параллельные задачи. Часто тесты нельзя написать.
> >>
> >> Если тесты нельзя написать, то код негодный. Другое дело, что на
> >> написание тестов не всегда хватает ресурса.
> >>
> > Ну почему сразу "код"? А взаимодействие с аппаратурой? Моки каждый раз
> > делать?
>
> Не каждый. Для unit-тестирования да, а для acceptance подключать
> аппаратуру, ага.
>
А она бажная. Как факт. Потому что тоже разрабатывается.
> > А работа при загрузке ОС?
>
> И это тоже надо тестировать. Ну да, придется контейнер тюнить.
>
> >> > Плюс, на ревью проверяется читабельность кода и его логическая
> >> > корректность (и тесты, и код возможно написать некорректно). Плюс, в
> >> > два раза больше работы. В общем, одно другое не заменяет.
> >>
> >> Я не утверждал, что тестирование заменяет ревью. Я утверждал, что в
> >> процессах, которые применяются там, где я работал, ревью отсутствует.
> >>
> > Понял вас. Хотя, всё-равно не могу представить. У меня опыт поменьше, но
> > всё-таки, в трёх достаточно известных конторах, где я работал, ревью
> > имеется, причём через WEB GUI.
>
> Известная контора - еще далеко не гарантия качества результата :)
>
Ну, я точно в курсе.
> >> Если более тысячи программистов отвечают за одно место в коде, код
> >> работать не будет. В больших конторах за каждое место в коде отвечает
> >> очень небольшое количество людей, а протоколы взаимодействия между кодом
> >> разных отделов компактны.
> >>
> >> >> За коммитами джуниоров просто присматривают вручную. Недолго, человек
> >> >> либо обучается, либо идет искать работу в другом месте.
> >> >>
> >> > Да тут вопрос не о джуниорах. Всё сложнее. Но, в любом случае, код
> >> > сложный, хотелось бы видеть, что уйдёт в репозиторий.
> >>
> >> В одной из контор у нас были любители почитать код, уходящий в
> >> репозиторий. Ну, репозиторий был настроен так, чтобы рассылать коммиты
> >> желающим. По почте. Тем же способом присматривали за джуниорами.
> >>
> > Примерно так и есть, но почта заменяется ccollab (или, в общем случае,
> > любым web интерфейсом), и код не проходит в репозиторий без одобрения.
>
> Тут важный момент - не веб или почта "код не проходит в репозиторий без
> одобрения". У нас проходил. Мой point в том, что проблем от этого не
> происходит.
>
Возможно. Надо подумать над этим. Раньше я даже не предполагал такой
практики.
> >> Практика показывает, что читать код _до_ попадания в репозиторий - не
> >> очень хорошая идея. Благо репозиторий позволяет, если что, откатить.
> >>
> > Но сборки уже будут собраны и отправлены на тестирование, так не лучше
> > ли - не допустить?
> > Какая практика?
> > В чём нехорошесть данной идеи?
>
> Тормозной путь. Между моментом изменения кода и моментом, когда код
> будет изменен, проходит время.
Как минус, так и плюс.
> Либо это очень большое время, либо
> ревьюер работает с частыми прерываниями. Если у него содержательная
> работа не обезьянья, то частые прерывания очень сильно снижают его
> продуктивность. Так и так изрядно падает КПД.
>
Ну, допустим, пара дней на ревью - это большое время?
Да, с прерываниями. Но сложно постоянно концентрироваться на ревью и
ждать ответов автора (который в этом время уже над другим работает), к
тому же, ревьюверов бывает несколько.
> >> Это вот понятное употребление ревью. Очень громоздкое, но цена ошибки
> >> там такова, что оно окупается.
> >>
> > В случае того, что есть сейчас, коммиты тоже обосновываются: к ним
> > привязана задача, после чего проверяются (перед репозиторием).
>
> А "в случае того, что есть сейчас" непонятно, окупается ли этот
> тормозной путь.
>
Продукт окупается.
"Тормозной путь", скорее всего, да.
Не от хорошей жизни, а из-за некоторых разработчиков и сжатых сроков.
> >> >> >> В общем, даже модель pull request не использовали, не говоря уже о code
> >> >> >> review. А вот работу в паре как раз использовали.
> >> >> >>
> >> >> > А подробнее? Это из области "экстремального программирования"?
> >> >>
> >> >> Да. Просто садятся двое. Один за клавиатурой, он код пишет. Второй
> >> >> рядом, он смотрит, что пишет первый. Его задача - взгляд уровнем
> >> >> абстракции выше, чем у писателя. Чтобы прямо по ходу иметь возможность
> >> >> сказать "ты решаешь не ту задачу" или "ты сейчас подложил вот сюда вот
> >> >> такие грабли".
> >> >>
> >> >> Результаты различного качества, в зависимости в основном от дисциплины
> >> >> написания тестов. Но так, чтобы было неработоспособно - нет. Чаще
> >> >> вылетает аппаратура, чем вылезают не дающие работать баги.
> >> >>
> >> > Только читал об этом, не думал, что в РФ используется.
> >>
> >> Это парадигма, ей чихать на государственные границы.
> >>
> > Границы не при чём, имеет значение "менталитет", в общем и, в частности:
> > культура разработки и стоимость такого подхода.
>
> Менталитет программиста тоже интернационален. С менталитетом "кодера по
> обезьяньей работе" хуже, но extreme programming - технология для
> программистов.
>
Ну что-то мне подсказывает, что русским и китайцам ужиться будет
несколько сложно, и не для всех эта техника подходит.
> >> > В любом случае, если я такое (чисто теоретически) предложу менеджеру,
> >> > он только у виска покрутит. Это же получается, что каждый программист
> >> > работает, условно половину времени, а половину сидит "и что-то там
> >> > смотрит".
>
> >> А если тебе не результат а имитацию бурной деятельности для менеджера,
> >> то да, подход ровно обратный.
> > В конкретном случае мне нужно сделать для себя: имитировать там не для кого.
> > Над своими проектами я не за деньги работаю.
> > И те, кто со мной работает, понимают, что если ты не сделаешь, ничего не
> > будет сделано.
>
> А если для себя, то предлагать вы будете не менеджеру, а себе.
> Совершенно другая задача.
>
У меня так-то оба варианта сейчас есть.
> >> Берем софт для совместной работы,
> >> выбираем его по критерию "наиболее красочная презентация", закупаем под
> >> него сервер, месяц инсталлируем, три месяца настраиваем. Менеджер от
> >> презентации в экстазе, и всё согласовывае. Если бизнес-процесс
> >> позволяет, покупаем платный саппорт, чтобы жопу прикрыть. Потом
> >> заставляем всех им пользоваться. Все дружно заняты все 8 часов, а то и
> >> 12...
> >>
> > Как ни печально, наблюдаю подвижки в этом направлении.
>
> Я с натуры это писал :)
>
Ну а я "в натуре" это вижу (хотя и не настолько всё плохо).
> >> И кстати, code review более чем подходит под определение "что-то там
> >> смотрит". Как ты будешь объяснять тому менеджеру, чем ты занят во время
> >> code review?
> >>
> > А у нас на ревью время специально выделяется (похоже, что были
> > менеджеры, которые не понимали, что это "за ревью такое", и в правила
> > записали официально).
> > На парное программирование же времени не выделяют.
> > Код пишут не вместе, хотя иногда вместе раздирают.
>
> А у нас выделяют время на работу, а не процедуры определенного
> вида. Надо поработать в паре - попросил коллегу, сели, поработали в
> паре. Надо попросить коллегу посмотреть код - попросил коллегу
> посмотреть код. И т.д.
>
Так тоже возможно, но постоянную "работу в паре" не одобрят точно.
> >> P.S. жалоба листмастеру на оффтопик ушла.
> >>
> > На тот офтопик, который вы поддерживаете сами? :-)
> > У вас, прямо таки сейчас духовность зашкалила.
>
> Нет, на политический. Который я как раз не поддерживаю.
>
А причём здесь эта тема?
Reply to: