All streams
Search
Write a publication
Pull to refresh
17
0.1

User

Send message

Когда панель задач разрешат двигать обратно?

Поломать поломали, а чинить не хотят.

Оффтопик конечно.

Но эта неразбериха с тулбоксом каждый раз достаёт. Часть программ в одной директории, а часть чёрт знает где.

Почему тулбокс не мог бы просто устанавливать в обычном режиме.

Из-за модулей пришлось в режиме C++20 пришлось переделать препроцессор и запретить различный неверный код. Поэтому в плане поддержки стало гораздо лучше. Багов конечно полно но уже других.

Из недавнего перестал собираться код, которого полно в проекте вида:

class A{ void A::f(); };

Вы о том, что можно сделать только концептами но нельзя по другому ?

В принципе всё можно и без них, но иногда это так сложно, что проще даже не браться.

Скажем, std::ranges полноценно без концептов сделать было слишком сложно.

Код с requires и concept можно заменить на enable_if , но иногда выходит слишком длинная писанина в которой легко ошибиться.

Банальный пример enable_if<is_same_v<T,int> && is_same<U, int>_v>

Легко забыть, что надо писать на самом деле enable_if<conjunction_v<is_same_v<T,int>, is_same<U, int>_v>>

В концептах мы просто можем писать обычно concept A = same_as<T,int> && same_as<U, int>.

Добавлю, что C++20 это не только концепты.

Про концепты советую почитать блог

https://akrzemi1.wordpress.com/2021/06/03/decent-concepts/

Там узнаете почему A&&B это хорошо , а A||B делать не надо.

Ну и в концептах A&&B означает совсем не то же самое что а шаблонах A&&B.

Скорее всего, что C++20 в MSVC просто теперь требует код совместимый со стандартом.

По этой причине многие проекты не переходят.

Конечно. А использовать ваши же данные сможете всего 60 раз в месяц;)

Можно поотключать

https://support.microsoft.com/ru-ru/office/copilot-в-приложениях-microsoft-365-для-дома-ваши-данные-и-конфиденциальность-6f0d8d80-f4bb-4c9f-989e-64a4adfd62e5#bkmk_settings

Но тут надо следить, чтобы каждый раз отключать новые галочки, как уже произошло с LinkedIn.

Их в то числе и имел ввиду. Только обратил внимание на дату, 12 лет прошло, а мы до сих пор обсуждаем ребейс или не ребейс :D

Я уже думал, что я один такой.

А то люди не понимают почему слияние ребейсом нескольких комиков чревато.

Так я и не утверждаю, что одно заменяет другое.

А зачем amend. Лучше обычный коммит, чтобы не терять историю изменений.

Только когда уже надо внести в мастер то там либо squash merge делают системы вроде GitHub или можно вручную если есть желание или необходимость.

git fetch origin/master && git merge origin/master && git reset —mixed origin/master && git commit -a -m “The commit message”

Я про squash merge

Поэтому я и не советую делать ребейс вообще, а только слияние.

Это и не теряет историю и упрощает работу.

Это вы описываете случай когда нам нужны все 10 коммитов в истории.

Я как раз на основе опыта утверждаю, что практически никогда из одного пулл реквеста у нас нет необходимости получать 10 коммитов, а хотим только один.

Положим мы имеем в ветке 10 коммитов.

В мастере происходят различные изменения приводящие к конфликтам.

Теперь вопрос как мы решаем конфликты

Одним вариантом будет ребейс поверх мастера. В этом случае у нас потенциально может быть конфликт на каждый наш коммит. Это легко приводит к сложностям и к тому, что не все наши коммиты даже компилируются.

Вариант другой, слиянием с мастером. Но тогда у нас получается лишний 11-й коммит слияния , который нам совсем не нужен.

Далее после проверок в нас снова слияние и получаем месиво в истории.

А можно пойти простым путём, у нас хоть 100 коммитов, хоть 20 раз слияний из мастера или из любый других веток. После код ревью мы производим слияние со схлопыванием и получаем всего 1 коммит который добавляется в мастер.

Каждый может решать это как-угодно , соц тезис в том, что скорее всего мы хотим простого решения и пока я не видел за десяток лет необходимости в усложнении.

А где вы увидели ограничения?

Практически в 99,9% случаев люди хотят получить один коммит на один пулл реквест.

А если это не так, то ,зачастую, это значит у нас слишком большой пулл реквест.

Это не догма, а то, что подходит для подавляющего большинства изменений.

Бывают случаи когда мы хотим более одного коммита получить, тут нет проблем, не схлопываем и сами решаем проблемы ребейсов и конфликтов. Но этот случай когда люди понимают как правильно работать с гитом.

По опыту скажу, что даже люди с большим стажем работы не всегда разбираются.

Я приучаю людей к схлопыванию коммитов.

Всё равно в итоге наша единица это пулл реквест.

А схлопывание упрощает работу простыми слияниями с мастером и без сложностей ребейса.

Современные среды разработок имеют локальную историю. Таким образом можно вернуться назад даже если не коммитил ничего. Одно не заменяет другое, но очень помогает в разных случаях.

В Маке можно назначить на Cals Lock комбинацию Hyper Key(ctrl+shift+cmd+opt) и будет полезной клавишей https://docs.folivora.ai/docs/1004_hyper_key.html

А на такое лично не нарывался. Может уже это порешали до меня.

Есть примеры таких несовместимостей ?

Контейнер у нас создаётся в системе с ядром 5, бежит локально на ядре 6, а ещё и в системах с ядром 3.

Веселья хватает на каждый день.

Information

Rating
2,956-th
Registered
Activity