Спільне використання кодів за допомогою Платформи Eclipse, Комерція, Різне, статті

Ця стаття пропонує огляд того, як Платформа Eclipse підтримує управління версіями вихідного коду в програмному проекті. Ми почнемо з короткого обговорення ідей командної розробки коду, а потім подивимося, як Eclipse працює з репозиторіями коду CVS. Ми також трохи розглянемо програмні інструменти управління вихідним кодом, які підтримуються через модулі Eclipse.


Спільне використання кодів в командному проекті


Більшість сучасних програм розробляються командами людей. Навіть маленькі проекти, в яких беруть участь лише кілька людей, вимагають щільного контролю змін у вихідному коді. Це завдання для програмного забезпечення управління кодом. Основні функції, що забезпечуються програмним забезпеченням управління вихідним кодом:



Коли члени команди роблять нову роботу, вони роблять її спільно використовуваної за рахунок збереження змін в репозиторії. Аналогічно, коли вони хочуть отримати останню версію проекту, вони оновлюють свої локальні робочі простору змінами з репозиторію. Це означає, що репозиторій постійно змінюється в міру того, як члени команди надсилають свої зміни. Іншими словами, репозиторій повинен представляти поточний стан проекту. В будь-який момент члени команди можуть оновити свої робочі простору з репозиторію і знати, що вони мають актуальні дані.


Супровід історії також важливо, тому що ви можете порівняти поточний стан проекту з попередніми версіями і, якщо необхідно, повернутися до більш ранніх версій. Координування роботи команди таким чином, щоб існувало тільки одне визначення поточного стану проекту та інтеграція роботи команди також істотні для ведення контролю версій. Така координація, можливо, найбільш важкодосяжним.


Оптимальною є така модель, в якій будь-який член команди може зробити зміни ресурсу, до якого він може звернутися. Оскільки два члени команди можуть зафіксувати зміни одного і того ж ресурсу, може відбутися конфлікт, і він повинен бути дозволений. Ця модель припускає, що конфлікти вкрай рідкісні. На жаль, ніякої вихідний код не існує в ізоляції, він зазвичай містить явні чи неявні залежності від інших ресурсів. Вихідний код має посилання на артефакти, описані в інших ресурсах вихідного коду. І це та точка, коли програмне забезпечення управління вихідним кодом кінчає свою роботу, оскільки воно не є замінником управління проектом. Цю роботу повинні робити менеджери проекту: координування роботи інших, відстеження виконання плану, фаз проекту та дат реалізації. Більше того, управління вихідним кодом не є замінником спілкування між розробниками.


Як Платформа Eclipse підтримує управління кодом


Платформа Eclipse пропонує можливість спільного використання коду і роботи над програмним проектом в команді. Eclipse підтримує широкий спектр рішень з управління кодом, завдяки його архітектурі підключень (проте, підтримка CVS привноситься ззовні). Центральної точкою архітектури Платформи Eclipse є робочий простір. Робочий простір підтримує все, що необхідно для побудови та тестування програмного проекту. Воно містить об’єкти (вихідний код та ресурси). Воно також зберігає конфігураційні установки для проекту, інтегрованого середовища розробки та підключень. Робочий простір локально підтримується на машині розробника, а команда співпрацює через зовнішні репозиторії, які є місцем зустрічі для частин коду від різних розробників. Репозиторії доступні за рахунок клієнт-серверної архітектури через Internet.


Платформа Eclipse пропонує підтримку операцій командної розробки безпосередньо з робочого простору. Ця підтримка дозволяє розробнику паралельно взаємодіяти з кількома окремими репозиторіями і версіями коду проектів. Ресурси в робочому просторі дозволяють компонентам підтримки команди працювати з версіями і завданнями управління конфігурацією. Звичайно ж, одне робоче простір може одночасно звертатися до різних типів репозиторіїв. Платформа Eclipse не забезпечує власного рішення з управління кодом; вона завжди залежить від зовнішніх систем. Платформа Eclipse має вбудовану підтримку тільки для однієї (але найпопулярнішою) системи управління вихідним кодом: Concurrent Versions System (CVS). Інші репозиторії підтримуються за допомогою модулів розширення від третіх осіб, описаних у розділі Підтримка програм управління кодом від третіх осіб.


Що таке CVS?


CVS починалася як колекція скриптів в 1986 р., але еволюціонувала в саму популярне рішення з управління версіями вихідного коду для розробників програмного забезпечення. CVS є клієнт-серверним рішенням з відкритим кодом для роботи з версіями, вона доступна для різноманітних платформ, включаючи Linux і Windows NT/2000/XP. Див Ресурси в кінці статті посилання на джерела завантаження клієнтів, серверів і вихідних кодів для CVS.


У загальному випадку головною функцією CVS є реєстрація версій вихідних файлів. Коли група розробників працює над одним проектом, CVS відокремлює їх один від одного. Кожен розробник працює окремо, у своєму власному робочому просторі і з’єднує (час від часу) результати своєї роботи з репозиторієм CVS.


Для взаємодії з CVS Eclipse має вбудованого клієнта CVS, глибоко інтегрованого в середу розробки Платформи Eclipse, який реалізований як окрема перспектива (перспектива CVS Repository Exploring). Загальні установки Eclipse для CVS знаходяться в Window -> Preferences window -> Team. Після перемикання в перспективу CVS Repository Exploring стають доступні всі операції (перейдіть в меню Window -> Open Perspective -> Other -> CVS Repository Exploring – Див. Малюнок 1 і Рисунок 2).


Рисунок 1. Перемикання в перспективу CVS Repository Exploring

5. Від’єднання проекту від CVS
Коли розробка проекту закінчується, і команда хоче заморозити вихідний код, фінальна версія проекту може бути вилучена з HEAD репозиторію. Від’єднання проекту від CVS забороняє операції з репозиторієм на проект і його ресурсах і опційно видаляє інформацію CVS, пов’язану з цим проектом.


Операції від’єднання можуть бути виконані опцією Team -> Disconnect з контекстного меню проекту. При виборі цієї опції відкривається діалог Confirm Disconnect from CVS. Якщо проект від’єднується від сховища, то команда повинна вирішити, що робити з інформацією CVS. Першим варіантом є “Delete the CVS meta information”; що забороняє меню командних операцій CVS і видаляє теки CVS та їх вміст з файлової системи. Другий варіант – використовувати “Do not delete the CVS meta information “; що забороняє меню командних операцій CVS, але залишає метаінформацію CVS.


Підтримка програм управління кодом від третіх осіб


CVS має кілька критичних обмежень: неможливо визначити одночасні зміни в одному файлі або через всю колекцію файлів і неможливо визначити логічний конфлікт між файлами. Вона являє конфлікт, як чисто текстуальний, що виникає, коли двох змін в одному файлі майже достатньо, щоб скасувати команду злиття. CVS також не пропонує жодних інструментів взаємодії у співпраці, наприклад, обміну повідомленнями. На щастя, CVS – не єдине програмне забезпечення для управління вихідним кодом, яка підтримує Платформа Eclipse. Розробники можуть розширювати функціональність Платформи Eclipse за допомогою підключень і зараз (4 березня 2003 р.) є 16 підключень для програмного забезпечення командної розробки. Всі ці підключення були створені спільнотою Eclipse або виробниками комерційного програмного забезпечення. Більшість з цих підключень додають підтримку для комерційних систем управління вихідним кодом від третіх осіб. Найбільш значущими є ті підключення, які підтримують популярні корпоративні системи управління кодом, такі, як Merant PVCS і Rational ClearCase. Підключення CVS-SSH2, наприклад, дає можливість звернення до CVS через сеанс SSH2, а підключення Microsoft Visual SourceSafe (VSS) team provider додає підтримку для продукту MS VSS (доступного також на не-Windows платформах, таких, як Linux).


Однак, персонально моїм улюбленим підключенням є Koi (див. посилання в Ресурси). Хоча воно не використовується виключно для контролю вихідного коду, цей новий інструмент вносить багато додаткових дій у колективну розробку. Поточна версія підтримує обмін повідомленнями між робочими місцями, спільно використовувані маркери, повідомлення про конфліктуючих зміни, спільно використовуваний календар та повідомлення про події. Koi використовує в якості моделі комунікацій XML-RPC в його клієнт-серверній архітектурі. Клієнтами є окремі екземпляри Платформи Eclipse, які зв’язуються через “Сервер співпраці”, який теж є підключенням Eclipse. Koi використовує як сховища даних реляційну базу даних з доступом через JDBC.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*