TGViewer
Dev Easy Notes Dev Easy Notes @dev_easy_notes · 2.91K subscribers
Post #380 2.59K
Начало туть. Когда какое версионирование использовать?

🗄️ SemVer позволяет грамотно спланировать обновления библиотек в проекте. Ты можешь прикинуть объем работы, исходя из того, какая цифра в версии поменялась. Представим, что мы живем в идеальном мире и у нас не ломают обратную совместимость на минорных релизах. 

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

📱Теперь идем в пользовательское ПО. Как думаете пользователей волнует, какая у них версия приложения? В подавляющем большинстве случаев им похуй + похуй. Главная проблема использования SemVer в таком ПО это вопрос, в какой момент увеличивать мажорную версию? Точного ответа на этот вопрос никто не знает, и все обновляются по наитию.

В либах тоже, частенько обновляют мажор по наитию, но это все равно сигнал, что вот это обновление может все сломать. Однако в пользовательском ПО мы не ломаем обратную совместимость. Да и каким образом, типо старые конфиги перестаем поддерживать? Пользователи нам пизды дадут!

Я сейчас работаю на проекте, в котором для версий используется SemVer. Пару лет назад у нас поменялась мажорная версия с 1.x.x на 2.x.x. Причиной послужило внедрение темной темы. С одной стороны изменения и правда обширные и затронули все приложение. С другой, это все тоже приложение, и в целом темную тему можно расценивать как обычную фичу.

🧬 Вся суть версий для пользовательского ПО в двух составляющих: понять в какой версии у нас появился баг и маркетинг. Баги можно отслеживать и без SemVer главное понять какая версия идет за какой. С точки зрения маркетинга тоже все довольно неоднозначно. Когда мы говорим про приложения в рекламных акциях никак не указываются точные версии, всем похеру. 

Поэтому я считаю, что для пользовательского ПО лучше всего подходит комбинация Дата +  SemVer, то что использует JetBrains. Мы четко можем отличать версии друг от друга, и у нас навсегда уходят споры о том, а достаточно ли это большое изменение чтобы мажор инкрементить?

Вывод: 
👉  SemVer – для всего прогерского, библиотеки, CLI, какой-то сервисный софт
👉  Дата + SemVer – для пользовательского ПО
  • 👍 13
  • ❤ 3
  • 🗿 2
More from @dev_easy_notes
  1. Sep 24, 2026На всякий случай напомню напомню, если такую хуйню видите, сразу в бан кидаете. Вы скорее…
  2. Aug 4, 2026Короче, поясню, я давно ничего не пишу, потому что заебался) возможно я скоро вернусь, как…
  3. Aug 4, 2026Post #596
  4. Apr 17, 2026Меня вот что еще дико бесит, через год я буду уже как 10 лет в индустрии и все равно, кажд…
  5. Apr 15, 2026video post
  6. Apr 9, 2026Как оценить работу модели? Часто вижу высказывания в стиле: вот новый клод стал тупее, или…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →