Jump to content
    

Стратегия присвоения версий ПО и аппаратуры

4 минуты назад, jcxz сказал:

Адептов создания номера версии по дате прошу ответить - как решить следующие вопросы...

Ответ на все Ваши вопросы один  -  Вы должны иметь собственую, хронологическую базу того, что Вы "натворили" и "отгрузили заказчикам".

P.S. Бред - это то, что Вы написали. :wink2:

Share this post


Link to post
Share on other sites

А если как-то привязать номер версии к номеру комита в GIT ?
Как-то так

MAJOR.MINOR.GIT_COMMIT

Share this post


Link to post
Share on other sites

5 минут назад, quаrk сказал:

Ответ на все Ваши вопросы один  -  Вы должны иметь собственую, хронологическую базу того, что Вы "натворили" и "отгрузили заказчикам".

"А кто будет следить и вести эту базу"? Из ваших же доводов... :biggrin:

 

Т.е. - ответов ни на один из поставленных мною вопросов у вас нет??

Что и следовало доказать. Потому и ваша система в реальной практике == бред.

 

PS: А может вы в реальности вообще никакие прошивки никогда и не делали / не выпускали? Только фантазируете?  :biggrin:

Share this post


Link to post
Share on other sites

2 минуты назад, jcxz сказал:

"А кто будет следить и вести эту базу"? Из ваших же доводов... :biggrin:

Непосредственно, разработчик продукта. Будь-то отдельный человек или Фирма - без разницы!...

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

Без посторонней помощи, в виде "контроля версий", и прочего геморроя....

Share this post


Link to post
Share on other sites

34 минуты назад, quаrk сказал:

Непосредственно, разработчик продукта. Будь-то отдельный человек или Фирма - без разницы!...

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

Без посторонней помощи, в виде "контроля версий", и прочего геморроя....

Если у вас 1 устройство, которое неспешно развивается и раз в полгода-год выкатывается прошивка, то в голове вполне можно уместить всю историю изменений.

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

Share this post


Link to post
Share on other sites

3 минуты назад, Arlleex сказал:

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

И Вы намерены решить эту проблему с помощью системы контроля версий?

Флаг Вам в руки! - это всё, что я могу Вам сказать...

Share this post


Link to post
Share on other sites

19 минут назад, quаrk сказал:

И Вы намерены решить эту проблему с помощью системы контроля версий?

Системой контроля версий решается задача хранения и структуризации проектов по версиям.

Разумеется, присвоенный номер версии потом легко вытащить и собрать еще раз при необходимости.

Share this post


Link to post
Share on other sites

17 минут назад, Arlleex сказал:

Системой контроля версий решается задача хранения и структуризации проектов по версиям.

Разумеется, присвоенный номер версии потом легко вытащить и собрать еще раз при необходимости.

Простите, я Вам ничего не навязываю...

Только, призываю - думайте своей головой...:wink2:

Удачи!

Share this post


Link to post
Share on other sites

Вариант версии на основе даты, может, и не бред. По сути это гарантия сгенерировать уникальный идентификатор для некой базы. Правда, без базы толку ноль, а если есть база, то и идентификаторы можно выдавать по порядку. Смысл, что по самой версии без базы ничего сказать нельзя, а с базой можно рассказать все.

Конечно, хочется получать больше информации без базы.

Например, обновления прошивок у нас имеют такой формат имени: dk7_v3.v7.3.1.20250410.img.bin

= {имя проекта}.v{MAJOR}.{MINOR}.{BUILD}.{дата компиляции}.img.bin

По этому имени всем заинтересованным людям все понятно.

Два обновления однозначно сравниваются.

По базе изменений можно быстро найти изменения функционала.

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

В самих контроллерах обычно есть отладочная консоль.

На команду "who" контроллеры представляются: dk7_v3, v7.3.1 @ GD32E103CBT6, 120MHz [10.04.2025]

, например. Т.е.: {имя проекта}, {версия ПО} @ {МК для запуска}, {рабочая частота} [{дата компиляции}]

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

см. скриншот

image.thumb.png.fef7d729ef8baaf44f304f22fea7777b.png

В итоге сейчас использую имена проектов - гораздо удобнее.

Т.е. использование даты в названии мы проходили, причем активно использовали с 2012 по 2019 годы.

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

Правда, некий аналог даты заложен в некоторых именах Заказчика "ea", но им так удобнее.

см. скриншот

image.png.215308e5231fed488e900e9c618649c5.png

Share this post


Link to post
Share on other sites

On 4/10/2025 at 1:34 PM, adnega said:

Вариант версии на основе даты, может, и не бред. По сути это гарантия сгенерировать уникальный идентификатор для некой базы.

Это если разработкой ПО занимаются один - два программиста.. Если же ПО разрабатывают 100++ программистов, и каждый из них может по десять раз на дню "отгружать" свои "готовые к отгрузке заказчику" программые модули, то с "версиями ПО на основе даты отгрузки" могут возникнуть проблемы..

Share this post


Link to post
Share on other sites

2 часа назад, jcxz сказал:

Версии: "08.01.25" и "18.08.24" - как узнать сколько версий прошло между ними? Насколько стара одна относительно другой?

 

3 часа назад, mantech сказал:

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

 

2 часа назад, jcxz сказал:

Как определить - каков характер важности модификаций в прошивке: "чуть-чуть поправили" или "всё переделали"?

Опять же см. выше.

 

2 часа назад, jcxz сказал:

Если прошивка выпускается на сторону с обязательством "отладочная, предназначена только для ограниченного списка девайсов; никому постороннему в руки не давать!

Компилится с дефайном - Test_mode_enable, о чем говорит строка на экране при старте.

 

2 часа назад, jcxz сказал:

В случае классической системы, есть например текущая релизная версия: v01.05.00 (релизность её определяется тем фактом, что последняя группа цифр == 00); решено сделать серьёзную переделку в ПО устройства, которая требует много времени. По ходу переделки выпускаются бета-версии для отладки на объекте заказчика = v02.xx.xx, но до релиза ещё далеко.

Таким не заморачивался вообше, поэтому х.з.

Share this post


Link to post
Share on other sites

7 minutes ago, blackfin said:

Это если разработкой ПО занимаются один - два программиста.. Если же ПО разрабатывают 100++ программистов, и каждый из них может по десять раз на дню "отгружать" свои "готовые к отгрузке заказчику" программые модули, то с "версиями ПО на основе даты отгрузки" могут возникнуть проблемы..

Если на заказчика сыпятся 1000 обновлений в день (100*10 по Вашим словам), то ему необходимо срочно менять фирму-исполнителя, потому что ни о каком совместном тестировании таких обновлений и речи не идет. Именно так возникают фугасные обновления Виндовс, когда стираются пользовательские файлы...

Share this post


Link to post
Share on other sites

8 минут назад, blackfin сказал:

Если же ПО разрабатывают 100++ программистов, и каждый из них может по десять раз на дню "отгружать" свои "готовые к отгрузке заказчику" программые модули, то с "версиями ПО на основе даты отгрузки" могут возникнуть проблемы..

Точно. Как раз хотел написать.

А если эти программисты работают удалённо, в разных часовых поясах, то всё может стать вообще чудесато...  :sarcastic:

Share this post


Link to post
Share on other sites

On 4/10/2025 at 2:04 PM, novikovfb said:

Если на заказчика сыпятся 1000 обновлений в день (100*10 по Вашим словам), ...

Не путайте "Божий дар с яичницей".. ))

Для программиста его "заказчиком" является его непосредственный начальник.

Поэтому "отгрузка ПО заказчику" выглядит для программиста как коммит исправленного модуля в GitHub, и т.д.

 

Share this post


Link to post
Share on other sites

14 минут назад, blackfin сказал:

Если же ПО разрабатывают 100++ программистов, и каждый из них может по десять раз на дню "отгружать" свои "готовые к отгрузке заказчику

В таком случае нанимайте какого-нить тимлида, который будет заниматься вашими миллионами реализаций от кучи кодеров и пр. Вообще трудно себе представляю проект на 100 прогеров, разве, что современный инетовский быдлокод, в программировании МК такого не представляю вообще.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...