170 похожих чатов

Доброго времени суток! Вопросы по версионированию библиотек, сервисов и т.п. 1. Какие

подходы используются в коммерческой разработке?
2. Если используется semver, то как проверяют мажорность изменений - прогоняют тесты от предыдущей версии?

14 ответов

24 просмотра

- релизим? - похеру, релизим - а если упадет? - исправим Конечно же шутка

1. Семвер 2. Заебало, давайте нормально перепишем

2. Если ты поменял что-то в публичном API, из-за чего его нельзя больше вызывать по старому (добавил обязательный аргумент, удалили аргумент, удалил функцию или ещё что-то). Тогда надо делать новую мажорку. С питоном правда есть когнитивная сложность с пониманием того, что есть "публичное API", т.к. импортировать могут что-угодно. Но обычно такое решается заклинанием "сам себе злобный буратино".

Kirill Kuzminykh
2. Если ты поменял что-то в публичном API, из-за ч...

По моменту с изменениями. Вроде как всё переписывается если мажорный апдейт есть и делается новые тесты Если не ошибаюсь, Мажорное обновление подразумевает несовместимость с прошлыми версиями (если не какой то там Ява)

Марк
По моменту с изменениями. Вроде как всё переписыва...

Что такое "всё" и зачем оно переписывается? Semver предполагает, что в мажорном апдейте есть несовместимые изменения. Их может быть очень немного. Для них, разумеется, нужны новые тесты и т. п.

Марк
По моменту с изменениями. Вроде как всё переписыва...

Ну если у вас есть тесты для API библиотеки, то очевидно они должны сломаться, если внести "мажорные" изменения. А раз тесты сломались - надо их исправлять. Но сам факт того, что тесты сломались, не говорит про то что были какие-то мажорные изменения. Надо отдельно анализировать ситуацию. Обратное тоже справедливо - если тесты работают, то это ещё не означает, что нет мажорных изменений.

Alexey- Автор вопроса
Kirill Kuzminykh
Ну если у вас есть тесты для API библиотеки, то оч...

Исходя из этого, значит если тесты допустим охватывают 100% кода, то по прогону теста можно решить о наличии мажорных изменений?

Alexey- Автор вопроса

так это корректно для мажорки - 0 ?

Alexey
так это корректно для мажорки - 0 ?

0 в мажорной версии обычно значит «недоделанное»

Alexey
Исходя из этого, значит если тесты допустим охваты...

В питоне - нет, нельзя ничего 100% решить. Если тест не упал, это не значит что нет мажорного изменения. Зависит от того как тест написан. Например тест может передавать все аргументы в функцию с указанием имени аргументов. А кто-то взял и поменял в функции порядок аргументов. Тест от этого не сломается, а клиентский код, который передаёт аргументы без указания их имени - сломается. Поэтому надо просто смотреть дифы изменений и особое внимание уделять изменениям в публичном API.

Kirill Kuzminykh
В питоне - нет, нельзя ничего 100% решить. Если те...

Ну, если в документации заявлено, что порядок аргументов фиксирован и можно передавать позиционно, а в тестах проверяется только по имени — это косяк тестов. Другой вопрос что тесты в реальности никогда не покроют 100% кода, и это не специфично для питона, почти во всех языках так.

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Я вот подумал. SSE выполняет операции максимум с 64-битной точностью. А FPU - всегда с 80-битной. Разве не должно быть FPU точнее тогда?
The Bird of Hermes
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
как быть с принтером? такой подход прокатит?
zamtmn
12
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Карта сайта