Благодарю за gist (на самом деле в статье присутствует весь код, просто оно у меня не собиралось из-за неподходящих версий kotlin'а и jdk) и за статью (поставил бы +, но недостаточно кармы для голосования).
Вопросы:
зачем Order реализует интерфейс Monoid?
ComparatorMonoid::plus() — не делает ли данная функция лишние сравнения? (я так понял что делает; хотя смысл сравнивать дальше есть только в случае, если compare() вернул Order.EQ)
Мне кажется что человек не в теме совершенно не поймет о чем идет речь. Вероятно, стоило упомянуть что это First-class function.
Аналогично для п.6 (возможно стоило сказать что делает этот код).
Итого (имхо): непонятно для кого статья.
Начинается все с картинки, с кодом вида:
после чего рекомендуют воспользоваться перечислениями.
При этом кончается все с кодом вида:
и тут хочется спросить: почему не следуют своим же рекомендациям?
Почему в качестве ключа словаря используют непонятную строку? Вот же Enum.
Это будет полезно в контексте хабра. Лично я очень хотел бы видеть подобные статьи на данном сайте и был бы благодарен за такую статью.
Никакого "исторически сложилось" здесь нет. Это осознанное решение.
Нужны проверки (медленнее и безопаснее) — пользуйтесь std::optional::value или std::optional::value_or.
Не нужны проверки (быстрее и опаснее) — пользуйтесь std::optional::operator->, std::optional::operator*.
Интерфейс не ограничивает пользователя в возможностях.
Спорное утверждение.
Текстовые редакторы с плагинами или IDE позволяют редактировать код быстрее чем печатать.
Имхо: никак, в таком случае должна быть декомпозиция на уровне гита.
Пример: необходимо реализовать большую фичу, чтобы ее реализовать необходимо выполнить следующие шаги:
Ветка с большой фичей будет выглядеть следующим образом:
Смысл в том, что крупные шаги можно отследить по merge commit'ам.
Спасибо за инфу.
Напомните пожалуйста: есть ли в PVS поддержка/интеграция с Qt?
(какие-нибудь особые правила; что-то наподобие clazy)
Категорически согласен.
(Поставить плюс не могу, поэтому пришлось написать данный комментарий)
Я слепой… Использовался
git merge -s ours
Понять не могу: как получится этот коммит afea493a?
Если я мержу changekiller в master, то появляется конфликт и 2 варианта:
Буду признателен если кто-нибудь распишет последовательность действий.
Большое спасибо за развернутый ответ (вижу, вы в теме) %)
Больше вопросов нет.
Благодарю за gist (на самом деле в статье присутствует весь код, просто оно у меня не собиралось из-за неподходящих версий kotlin'а и jdk) и за статью (поставил бы +, но недостаточно кармы для голосования).
Вопросы:
Где можно посмотреть код целиком?
А мальчик в это время: "одна конфетка здесь, другая там, еще пару раз повторю и дачу дострою (выберите любой другой способ траты денег)".
P.S. У меня нет представления о том, куда идут деньги из выплаченного штрафа. Это просто фантазия как и у автора комментария выше.
Шикарный пример, спасибо.
Благодарю за текстовую версию (голосовать нет возможности, поэтому в виде комментария).
Еще забавный порядок действий:
Сначала выполнили кучу действий и только потом проверили пустая строка или нет.