Paweł Parzych

Paweł Parzych Starszy Programista
Delphi/MSSQL

Temat: Praca kilku programistów na jednym kodzie

Witam,

Zamierzamy zatrudnić nowego programistę, aby mógł wspomóc rozwijanie dużego projektu.
Czy ktoś ma doświadczenie, w jaki sposób można zorganizować pracę 2 programistów nad jednym projektem, na jednym kodzie źródłowym - czy jest to w ogóle możliwe w Delphi ?
Tomasz Kaczanowski

Tomasz Kaczanowski Ot, programista

Temat: Praca kilku programistów na jednym kodzie

Paweł P.:
Witam,

Zamierzamy zatrudnić nowego programistę, aby mógł wspomóc rozwijanie dużego projektu.
Czy ktoś ma doświadczenie, w jaki sposób można zorganizować pracę 2 programistów nad jednym projektem, na jednym kodzie źródłowym - czy jest to w ogóle możliwe w Delphi ?

Podzielić kody odpowiednio, tak by każdy pracował nad własną częścią, stworzyć jakieś repozytorium, gdzie będą swoje kody wrzucali. Ustalić zasady wrzucania kodów (które pliki mają byc wrzucane, oraz, że np wrzucamy tylko wersje które się kompilują itd). Repozytorium - to już kwestia indywidualna, którego użyć. Najbezpieczniej i moim zdaniem najwygodniej takie niezintegrowane za mocno ze środowiskiem - zazwyczaj działa lepiej - ale to juz kwestie indywidualne.
Daniel Grabowski

Daniel Grabowski Interaktywne
planowanie produkcji
on-line z MES

Temat: Praca kilku programistów na jednym kodzie

Paweł P.:
Witam,

Zamierzamy zatrudnić nowego programistę, aby mógł wspomóc rozwijanie dużego projektu.
Zdefiniuj co to jest duży projekt.
Tylko mi nie pisz ile tak jest formatek bo to nic nie znaczy...
Czy ktoś ma doświadczenie, w jaki sposób można zorganizować pracę 2 programistów nad jednym projektem, na jednym kodzie źródłowym - czy jest to w ogóle możliwe w Delphi ?
Tak, mam doświadczenie.
Tak jest to możliwe, tak samo jak w każdym innym środowisku. Delphi od wersji XE posiada wbudowane wsparcie dla SVNa. Od XE7 dla GiTa.
Najłatwiej podzielić projekt na części za pomocą BPLi i już.
Tyle z prostych rzeczy.
Z trudniejszych rzeczy poczytaj sobie o "ciągłej integracji".

konto usunięte

Temat: Praca kilku programistów na jednym kodzie

XXI wiek jest... svn, git - wersjonowanie działa tak samo dla każdego kodu. Nawet nie trzeba mieć wsparcia do tego w ide - wystarczy tortoise, albo coś podobnego. O wierszu poleceń nawet nie będę wspominać :)

Co do testowania - CI itp.
Arquillian - taki kombajn do testowania - testy za równo kodu na serwerze, ale javascript jak najbardziej - też. Pełne testy integracyjne, np. na androida. Taki Hudson czeka na commit, zaciąga nową wersję kodu, podnosi serwer testowy, podnosi emulatory odpala testy i wiadomo co i jak. Jak mi się ręka omsknie - maila dostanę, że coś padło. Ja i inni w zespole też - żeby nie siedzieli i się nie zastanawiali, dlaczego nie działa... Java ma takie coś jak JSF - pod pewnymi względami podobne do Delphi. Chodzi o to, że z MVC za równo JSFy jak i Delphi są mocno niekompatybilne. No więc - da się to testować, no ale to chyba kwestia podejścia.

Na stacku trochę rozwiązań do Delphi ludzie podają np. tu:
http://stackoverflow.com/questions/313870/what-is-your...
Może się komuś przyda...

konto usunięte

Temat: Praca kilku programistów na jednym kodzie

Idealna sytuacja to by była w przypadku gdyby projekt (i tu prawdę mówiąc mało istotne duży czy mały) był oparty o wzorzec MVP (model-widok-prezenter). Jak tu na przykładzie:

http://www.danieleteti.it/2009/02/12/a-simple-start-wi...

Fajna sprawa bo ten kalkulatorek ma kod podzielony na trzy części i każda z nich pełni określoną rolę. A co bardziej istotne, warstwa widoków jest sterowana przez prezenter, który komunikuje się z warstwą do obliczeń. Przykładowo więc można by przyjąć, że jedna osoba zajmuje się warstwami: modele + prezentery, ktoś inny np. tylko widokami. Eleganckie podejście i świetne do rozbudowy. Ten kalkulatorek ma też testy jednostkowe. To tylko przykład, który ma na celu zobrazować, że w oparciu o MVP można tworzyć i skomplikowane projekty.

konto usunięte

Temat: Praca kilku programistów na jednym kodzie

Pewnie, że dobra organizacja kodu to zawsze dobry pomysł. Problem w tym, że jak dwie osoby będą błędy poprawiać... dalej będą sobie w drogę wchodzić. Eleganckie, czy nie - wolałbym zainwestować czas w system kontroli wersji + CI.
Daniel Grabowski

Daniel Grabowski Interaktywne
planowanie produkcji
on-line z MES

Temat: Praca kilku programistów na jednym kodzie

Michał Z.:
Pewnie, że dobra organizacja kodu to zawsze dobry pomysł.
IMo to nie tyle pomysł, co wymóg - zwłaszcza jeśli projekt jest duży...
Problem w tym, że jak dwie osoby będą błędy poprawiać... dalej będą sobie w drogę wchodzić.
Nie, jeśli będą blokować plik do edycji na repozytorium.
W SVN to naturalne, ale w GIT... no więc właśnie ;-)
Eleganckie, czy nie - wolałbym zainwestować czas w system kontroli wersji + CI.
Pewnie, ze tak - tyle, że trzeba mierzyć siłyna zamiary.
Skoro Paweł pyta w ten sposób "czy jest to w ogóle możliwe w Delphi", to sugeruje że nie ma żadnego doświadczenia w tym kontekście. I dla niego CI to może być samobójstwo na tym etapie.
Ja bym mu zaproponował repozytorium na SVN i potem, powolutku sam będzie wiedział gdzie go boli...
Jeżeli to Delphi, to najlepiej to:
https://www.finalbuilder.com/continua-ci-delphi
Pierwszy user za free, a więc można bezboleśnie zobaczyć co i jak.
Ale to potem - najpierw repo.

konto usunięte

Temat: Praca kilku programistów na jednym kodzie

Michał Z.:
Pewnie, że dobra organizacja kodu to zawsze dobry pomysł. Problem w tym, że jak dwie osoby będą błędy poprawiać... dalej będą sobie w drogę wchodzić. Eleganckie, czy nie - wolałbym zainwestować czas w system kontroli wersji + CI.

Używałem Tortiose SVN i jest znakomite. Nawet jak przyjdzie pracować samemu przy jakimś projekcie. Proste w użyciu i fajnie się integruje w menu kontekstowym. Co do MVP, napisałem że to idealna sytuacja zakładając że projekt który przyszło by rozbudować już się na tym opiera bo jeżeli nie a ma dziesiątki czy setki tys. linii kodu a nawet miliony to nie sądzę żeby ktokolwiek, kto ma głowę na karku zgodził się na przepisanie projektu przez programistów od nowa w oparciu o ten wzorzec. Z wiadomych powodów.
Tomasz Kaczanowski

Tomasz Kaczanowski Ot, programista

Temat: Praca kilku programistów na jednym kodzie

Dariusz R.:
Używałem Tortiose SVN i jest znakomite.

co fakt, to fakt, zaczynałem w zamierzchłych czasach od tortoise cvs, obecnie jak ktos potrzebuje, to i do gita znajdzie żółwika :)
Piotr Frączek

Piotr Frączek programista,
SevenSoft

Temat: Praca kilku programistów na jednym kodzie

Używałem SVN: TortoiseSVN + VisualSVN Server. Działało dobrze.
Aktualnie GIT: SourceTree + GitLab ... do SVN nie wrócę ;)

Już nie pamiętam jak to było w SVN ale w GITie bardzo prosto się wydziela moduły "submodule" i do niego mają dostęp wybrane osobistości. Nie wiem, czy było to w SVN ale w GITie sprawuje się idealnie.

Następna dyskusja:

program w jednym pliku exe ...




Wyślij zaproszenie do