16.11.2005, 14:04 | #1 |
Участник
|
Очень хочется внедрить версификацию кода . Поделитесь у кого есть какие идеи или наработки.
|
|
16.11.2005, 14:14 | #2 |
Участник
|
А что это такое?
|
|
16.11.2005, 14:42 | #3 |
Участник
|
Это когда храняться версии изменений кода.
Т.е. кто что поменял сохранили в хронилище версий Дальше другой сотрудник что-то поменял сохранили в хронилище версии В любой момент мы можем поднять нужную нам версию и посмотреть кто и и что изменял. |
|
16.11.2005, 14:44 | #4 |
Участник
|
У нас достаточными считаются комменты в коде с указанием номера задачи, даты и исполнителя + фобы хранят те, кто заливает объекты ... Бэкапы баз периодически, чтобы уж совсем непоправимое восстановить ...
|
|
16.11.2005, 15:00 | #5 |
NavAx
|
На mibuso.ru как-то постили на этому тему
http://www.mibuso.ru/forum/index.php?showtopic=3034
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
16.11.2005, 15:37 | #6 |
Moderator
|
Navision это не среда для одновременной разработки большим количеством сотрудников сложного функционала, поэтому такие вещи как средства для хранения кода во внешних файлах, возможность прикручивания другой IDE, а тем более возможность бренчинга и поддержки версионности (хотя бы на уровне Check In и Check Out) разработчиками просто не были предумотрены.
Больше того, если посмотреть политку лицензирования, становится понятно, что каждый объект стоит определенных денег, поэтому проще изменить(поправить) логику уже существующего объекта, чем быстренько создать новую форму или прикрутить пару-тройку универсальных библиотек кода (стиль высоуровневых языков) С одной стороны и по большому счету это правильно: лишние фишки, абсолютно не нужные конечному пользователю лишь неоправданно повысили бы цену(себестоимость) решения. С другой стороны - очень редко большое количество программистов работают с единой функциональностью и сталкиваются с необходимостью бренчить версии и отслеживать какой именно кодер изменил определенную строчку кода. Именно поэтому, Navision изначально не имеет средств, позволяющих его сопрягать с системами контроля версий типа Source Safe, у него даже внутренняя архитектура другая - код хранится не в виде файлов, а в откомпилированном виде в системной таблице. Версионность существует лишь на уровне объектов, и то при условии неукоснительного соблюдения разработчиками стандартов программирования Navision. Большей частью эта версионность нужна для правильного наката функционала с одной базы (допустим с локальной, в которой идет разработка) в другую (рабочую). Есть конечно разработки вроде того же NCT, только вот сильно сомневаюсь, что ей практически кто-то пользуется - слишком уж примитивно |
|
16.11.2005, 16:04 | #7 |
Участник
|
Все это замечательно работает на конечных процессах внедрения функционала (читай проектная работа) с количеством разработчиков по одному функционалй в колличестве 1-2 чел. При этом со схемой выявления ошибок - я сам себе злобный тестер.
Рассмотрим бональную схему - сотрудники последовательно выполняют задачи по доработке одного и того же объекта, но один из N сотрудников накосячил (к примеру стер нужный функционал) и чего нам в этом случае бэкап БД восстанавливать (хорошо если мы базируеся на SQL Server и у нас налажена система бэкапов) По поводу лицензирования- данная функциональность нужна только девелоперу и может открываться его лицензией. Разговор о бональном удобстве и безопасности разработки. Использовать или не использовать средства версификации необходимо решаться должно административными ресурсами. |
|
16.11.2005, 16:12 | #8 |
NavAx
|
Dimont, ну в Вашем "бональном" случае достаточно сотрудникам сохранять после каждого изменения отдельную версию объекта на диск (что-нибудь типа Form50_151105.fob)
На крайний случай можно поднять cvs и складывать фобы туда.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
16.11.2005, 16:20 | #9 |
Участник
|
Это понятно. Можно так же в текстовый формат экспортировать и выложить в VSS
|
|
16.11.2005, 16:22 | #10 |
Участник
|
А что в Development ?
|
|
16.11.2005, 16:33 | #11 |
Участник
|
А вообще код нужно комментировать, а не стирать.
|
|
16.11.2005, 16:33 | #12 |
Участник
|
изучается
|
|
16.11.2005, 16:49 | #13 |
Заноза в заднице
|
Цитата:
Сообщение от romeo
А вообще код нужно комментировать, а не стирать.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков! |
|
16.11.2005, 17:02 | #14 |
Участник
|
2Likefire: Согласен. Но мы говорим в контексте темы "версификатора" ... Считаю, что для навижена нафиг надо. Образно выражаясь ...
|
|
16.11.2005, 17:17 | #15 |
Участник
|
Цитата:
Сообщение от Likefire
Цитата:
Сообщение от romeo
А вообще код нужно комментировать, а не стирать.
Для того, что вы понаваяли в процессе внедрения в целом описывается в документе Project Log и Change Log. Документ Desighn Specification служит несколько иным целям. Это скорее руководство к действию для программистов, основанное на концептуальном дизайне, а также оценки времени и стоимости той или иной кастомизации, которая должна быть указана в конц. дизайне.
__________________
MBS Certified Master in Navision Developer |
|
16.11.2005, 17:40 | #16 |
Участник
|
Сделал недавно несколько объектов как раз для совместной разработки. Принцип такой. При модификации объекта он блокируется (в ручную), т.е. записывается запись в определнную табличку. В этой табличке есть поле BLOB куда сливается текущий объект, а также ряд полей по коду задачи, пользователе, времени и признаке блокировки. В триггер таблички Object вставлен код который проверяет наличие в этой таблице модификаций записи с признаком открытой блокировки. Если Запись есть и пользователь в ней не совпадает с пользователем который модифицирует ему выдается предупреждение. После окончания модификации инициатор освобождает объект (в ручную). То есть запись в журнале модификаций помечается как закрытая.
P.S. Ест простенькое описание в атачменте
__________________
Want to believe... |
|
16.11.2005, 17:47 | #17 |
Участник
|
забыл приатачить
__________________
Want to believe... |
|
16.11.2005, 17:47 | #18 |
Участник
|
Цитата:
Сообщение от romeo
А вообще код нужно комментировать, а не стирать.
С другой стороны комментировать конечно нужно простые изменения, но всегда найдется ДУРАК или не очень, который СЛУЧАЙНО сотрет код. В общем версификация нужна. Вопрос в необходимости и грамотности ее применения. В общем случае при кол-ве разработчиков > 2 она нужна. Та же она нужна как инструмент для хранения измениний на случай МАЛЕНЬКОЙ ТРАГЕДИИ со случайным сохранением |
|
16.11.2005, 17:59 | #19 |
Участник
|
Цитата:
Сообщение от Роман
При чем тут Desighn Specification?
Для того, что вы понаваяли в процессе внедрения в целом описывается в документе Project Log и Change Log. Документ Desighn Specification служит несколько иным целям. Это скорее руководство к действию для программистов, основанное на концептуальном дизайне, а также оценки времени и стоимости той или иной кастомизации, которая должна быть указана в конц. дизайне. |
|
16.11.2005, 18:33 | #20 |
Участник
|
Цитата:
Сообщение от Галина
Роман-ну объясните как описывать в них? вручную или с толкита выгружать?
__________________
MBS Certified Master in Navision Developer |
|