Zawsze zastanawiałem się, dlaczego nikt nie znalazł (a przynajmniej nie znalazłem) edytowania kodu w stylu Dokumentów. Wydaje mi się, że istnieją pewne nieodłączne trudności, takie jak uzupełnianie kodu i fakt, że kod musi zostać skompilowany, ale nie wydaje się to całkowicie niemożliwe do pokonania przy pewnej koordynacji (i możliwe sztuczki, takie jak strategie scalania opóźnionego kodu). Myślę, że są one PRAWDZIWY problem w dużych projektach. W każdym razie będę musiał
Jak powiedziałem w komentarzu do twojego pytania, jestem bardzo ciekawy prawdziwej współpracy przy edycji . Przeprowadziłem badania jakiś czas temu, ale większość rozwiązań po prostu nie spełniała standardów: były to edytory zwykłego tekstu z podświetleniem składni, miały szalone koszty lub były niedostępne na różnych platformach (jak SubEthaEdit ...)
Dopóki nie natknąłem się na Saros ! Jest to zgrabna wtyczka Eclipse, więc integracja z bieżącym procesem może być łatwa. Możesz obejrzeć ich film demonstracyjny , robi wrażenie. Jest bardzo dobrze przemyślany, aby stworzyć prawdziwe środowisko do współpracy i ma kilka bardzo dobrze przemyślanych kluczowych funkcji. Obsługuje dowolną liczbę uczestników, pełną synchronizację projektu, edycję w czasie rzeczywistym ze znacznikami i wyróżnianie (ala Google Docs), zgodnie z opinią partnera, kilka metod uświadamiania uczestników i wiele więcej (możesz nawet udostępnić swój ekran za pomocą tej wtyczki. ) I najwyraźniej integruje się z wieloma innymi wtyczkami Eclipse!
Sam jeszcze go nie przetestowałem, ale jest to jeden z niewielu wciąż prowadzonych projektów i wygląda bardzo obiecująco. Daj mu szansę i daj mi znać (przeczytaj te wytyczne wcześniej). Obiecuję, że wrócę tutaj i opublikuję swoje wrażenia jako komentarz, gdy spróbuję sam.
EDYCJA: Ponadto, jak zauważył Gustavo w komentarzu, Cacoo może być również użyteczny. Jest to internetowe narzędzie współpracy do rysowania UML-ów (właściwie każdego rodzaju diagramu). Saros obsługuje tablicę, ale nie ma nic takiego jak narzędzie do diagramu, jeśli chcesz uniknąć niezręczności.
Ludzie udzielali wielu odpowiedzi, wszystkie na systemach kontroli wersji, ale myślę, że to jest właściwa odpowiedź na pytanie. +1 za edycję grupową. BTW, wypróbuj Cacoo (google it) To narzędzie do tworzenia UML-ów, pomogło mi w wielu projektach, może uzupełnić twoją odpowiedź.
@steakbbq jest kilka wtyczek, które zapewniają obsługę C # ( Emonic i Improve ), ale niestety wydaje się, że brakuje wsparcia w debugowaniu i refaktoryzacji.
„Potrzebujemy tylko miejsca, w którym możemy sprawdzić pliki, edytować je, a następnie ponownie sprawdzić i skompilować z tego samego zestawu plików”
Użyj kontroli wersji; system kontroli wersji (VCS) jest dokładnie tym, co opisałeś, z dodatkową korzyścią, że przechowuje on historię każdej zmiany, którą ktoś wprowadził. Istnieje wiele popularnych systemów kontroli wersji:
Właśnie rozdałem darmowego prywatnego hosta Git / HG na czacie: bitbucket.org (bezpłatny dla maksymalnie 5 współpracowników). Również HG jest bardziej odpowiedni, ponieważ ma wtyczki, które obsługują duże treści binarne (projekty treści).
Proszę nie subversion. Rozproszona kontrola wersji jest całkowicie prosta dla osób nieprzyzwyczajonych do pracy ze scentralizowanymi systemami. Ludzie przyzwyczajeni do wywrotu nie mogą się pomylić.
W moim zespole korzystamy z trzech programów w zależności od tego, nad czym musimy pracować:
TortoiseSVN dla kodu (staraj się, aby programiści używali tego samego IDE, standaryzuj konwencje i zachęcaj do dobrych komentarzy)
Dropbox do multimediów (dla modeli / duszków / plików audio, pozwala deweloperom pracować lokalnie, dopóki artyści / kompozytorzy / modelerzy nie będą gotowi dostarczyć)
GoogleDocs do dokumentacji (do dokumentów projektowych / makiet / podziałek zwykle dla projektantów, menedżerów i producentów)
Aby koordynować wysiłki różnych członków (którzy pracują w różnym czasie), korzystamy z systemu biletowego Assembli. W ten sposób wszyscy są na bieżąco informowani o stanie całego projektu lub wybranej przez siebie alei. Użyj również Skype / Google Hangout / komunikacji aby mieć pewność, że wszyscy będą na tej samej stronie co najmniej raz w tygodniu.
Ta metoda zazwyczaj działa, gdy zespół składa się z 3-5 osób, które mają ustalone role (programista, artysta, modelarz, projektant itp.). Jeśli to nie zadziała, wypróbuj inne metody lub połącz działające aspekty, aby stworzyć własną. Powodzenia!
Mówiłem tylko o kontroli wersji kodu, ponieważ jest to jedyny aspekt rozwoju, o który prosił, ale moje studio używa Dropbox i Dokumentów Google do tych samych celów, co ta odpowiedź.
Wygląda na to, że chcesz albo drop box, system kontroli wersji, albo jedno i drugie.
Dropbox jest najwygodniejszy. Po prostu wprowadź zmiany i zapisz, a Dropbox zsynchronizuje zmiany na komputerze twojego znajomego. Nie sądzę, że 2 osoby mogą jednocześnie pracować nad plikiem bez wzajemnego nadpisywania.
Zalecam jednak użycie systemu kontroli wersji Subversion , GIT i Mercurial to obecnie duże 3. Korzystanie z VCS ma wiele zalet: w tym możliwość automatyzacji tworzenia kopii zapasowych, wycofywania zmian i sprawdzania kodu na dowolnym komputerze który ma dostęp do twojego serwera.
Po skorzystaniu z 3, o których wspomniałem, Subversion jest najłatwiejszy do rozpoczęcia, a Assemblela pozwala na bezpłatne prywatne repozytoria SVN lub GIT.
Naprawdę nie lubię dropboxa dla takich rzeczy. Jeśli używasz któregokolwiek z produktów Tortoise *, ma on podobny rodzaj integracji z Eksploratorem Windows, ale możesz kontrolować zatwierdzanie / push / pull / merge, więc nie będziesz mieć problemu z „nadpisywaniem się dwóch osób”.
Ja też nie, dlatego polecam VCS. Jednak nie ma prawie żadnej krzywej uczenia się i natychmiast masz kopię zapasową, więc uznałem, że warto o tym wspomnieć.
Polecam nie używać DropBox zamiast systemu kontroli wersji. Jeśli dwie osoby zmodyfikują ten sam plik w tym samym przedziale czasowym, DropBox zduplikuje plik. W przypadku kodu źródłowego jest to zwykle niepożądane i bardziej uciążliwe niż użycie systemu kontroli źródła.
Nigdy nie powiedziałem, że tak. Powiedziałem, że najłatwiej jest się uczyć po nauce. Głupio jest wyrażać subiektywne stwierdzenia, takie jak „Subversion nie jest łatwiejsze w użyciu” w wartościach bezwzględnych.
Jak wspomniano w innych odpowiedziach, VCS jest właściwą drogą. Git jest moim ulubionym, ale mogło tak być, ponieważ był to pierwszy, którego użyłem.
Uważam, że ta książka online jest bardzo pomocna w nauce Git. http://progit.org/book/
Bez względu na to, z czym się wybierasz, warto poświęcić kilka godzin na zastanowienie się, jak z niego korzystać.
Warto też wspomnieć - VCS świetnie nadają się do kodu źródłowego (lub dowolnych plików tekstowych), ale przechowywanie obrazów i plików dźwiękowych może niepotrzebnie powiększać twoje repozytorium. Niektóre osoby zalecają do tego osobne repozytorium, ale uważam, że Dropbox działa dobrze dla tego rodzaju zasobów.
tak, kiedyś używałem svn. Teraz zawsze używam Git. Chociaż wiele osób nie lubi wiersza poleceń, wydaje mi się, że jest bardzo wygodny. W systemie Windows używam konsoli, która otacza środowisko git-bash. W OSx jest to tylko terminal z motywem Solarized.
Zgadzam się, mieszkam w terminalu, jeśli mogę! Czasami jest nieco bardziej stroma krzywa uczenia się, ale automatyzacja jest o wiele łatwiejsza. Jeśli regularnie używasz OSX, powinieneś sprawdzić iTerm2. Obsługuje 256 kolorów, a także tryb pełnoekranowy i bardzo dobrze wykorzystuje podział.
Jak wielu wspomniało, potrzebujesz kontroli wersji. Jest niezła darmowa oferta oprogramowania FogCreek (musisz podziękować za udostępnienie stackexchange, dzięki czemu ta strona jest możliwa). Nazywa się Kiln (zbudowany na Mercurial ) i integruje się z ładnym oprogramowaniem do śledzenia błędów / funkcji / czasu, które zbudowali o nazwie FogBugz . Zespół dwóch programistów zapewnia bezpłatne wersje tych produktów (i udostępnia je dla Ciebie). Używam tego ustawienia do własnych projektów i płatnych wersji wszystkich produktów, nad którymi pracuję dla mojego pracodawcy (mamy znacznie większy zespół programistów, więc muszę korzystać z płatnych wersji). Warto na pewno rzucić okiem.
Jeśli zdecydujesz się ich użyć, oto kilka dobrych samouczków lub przydatnych linków na początek:
FogCreek założyciel poradnik na Mercurial (i pieca za rozszerzeniem)
Narzędzia używane przez mój zespół do sprawnej współpracy:
• GitHub, który, jeśli masz trochę pieniędzy, jest niezwykle tanim i łatwym sposobem na hostowanie wszystkich źródeł. Jest to platforma kontroli wersji, o której mówi większość ludzi. Pomyśl o tym jak o koncie Pastebin, które istnieje na twoim lokalnym dysku twardym i jest aktualizowane za każdym razem, gdy któryś z członków twojego zespołu dokona zmian. Projekty hostowane nazywane są depozytariuszami. Istnieje mnóstwo bezpłatnych klientów Git, niektóre z nich integrują się bezpośrednio z systemem Windows, dzięki czemu Twoje depozyty są czyste i aktualne.
• Dokumenty Google dotyczące dokumentów, pomysłów, koncepcji graficznych gier.
• Sporadyczne korzystanie z DropBox, jeśli jeden z nas potrzebuje określonego zasobu lub skryptu ... jest to jednak rzadkie i wolimy pracować za pośrednictwem GitHub.
Jeśli korzystasz z Visual Studio, najlepszą opcją jest Team Foundation, pochodzi od Microsoft i jest najlepszą kontrolą wersji, jaką znam, negatywną rzeczą jest to, że potrzebujesz serwera, serwera SQL i serwera Foundation Team do działania na serwerze (klient jest już w studio wizualnym), jeśli masz szansę, spróbuj.
Obecnie korzystam z Team Foundation Mam pytanie dotyczące rozgałęziania i łączenia oddziałów. Jeśli utworzę dwie gałęzie, a ktoś doda kod do klasy i dodam inny kod do klasy, kiedy je scalę, czy dodają obie zmiany do pliku, czy otrzymamy błąd i będziemy musieli wybrać jedną ze zmian ?
Nie używam gałęzi do tego, używam gałęzi do różnych wersji, jeśli to zrobisz, to studio wizualne prawdopodobnie zrobi złe scalenie (to tak, jakby ktoś używał klasy, a inny sprawdzał tę samą klasę i obie dodają kod, studio wizualne poprosi Cię o ręczne scalenie), jeśli chcesz wprowadzić zmiany w klasie w tym samym czasie, dlaczego nie używasz klas częściowych? korzystaj z gałęzi dla różnych wersji, dzięki czemu masz większą kontrolę nad swoimi wersjami
Do programowania par wirtualnych używam tego ustawienia (koordynowanie wszystkiego przez Skype):
Zainstaluj serwer SSH na jednym ze swoich komputerów.
Zainstaluj tmux
Druga osoba ssh jest podłączona do twojego komputera.
Poproś hosta o rozpoczęcie sesji tmux
Poproś partnera, aby uruchomił „tmux at” w swoim połączeniu SSH
Teraz ty i twój przyjaciel zobaczycie dokładnie ten sam ekran terminala. Ale prawdopodobnie chcesz mieć możliwość współpracy poza komputerem, prawda?
Utwórz konto Bitbucket.org, stwórz projekt (wolę Git) i postępuj zgodnie z instrukcjami tworzenia pustego repozytorium.
Skopiuj pliki projektu za pomocą „git add. && git commit -m 'Initial commit.”
Push to Bitbucket z „git push origin master”
Teraz ty i twój przyjaciel możecie pracować nad zmianami niezależnie i pchnąć je do Bitbucket, kiedy będziecie gotowi.
Nie pozwoli to wam obojgu na edycję razem w Visual Studio w żaden przyjemny sposób, ale będziecie mogli edytować kod źródłowy, jeśli sparujecie się z jakąś nową funkcją lub debugujecie problem. Dopóki potem wprowadzasz zmiany, przyjaciel może je otworzyć w VS.
Sugerowałbym kontrolę wersji bazaru . Jest mały, praktyczny, bardzo dobry dla małych / one2few projektów męskich. Git i SVN są częściej używane w większych projektach / zespołach. Bazaar ma w przygotowaniu wtyczkę VS, ale dla ciebie nie ma większego znaczenia przy użyciu jej poza VS. Jest naprawdę łatwy w użyciu, gdy go poznasz i wstępnie skonfigurujesz. Ma jeszcze kilka wtyczek, które się przydają.
Wiele dobrych sugestii już jest, ale jeśli chcesz wybrać proste i proste rozwiązanie, działa to dla mnie, gdy współpracuję:
Użyj komentarzy na początku każdego skryptu, aby śledzić, kiedy był edytowany, kto i kiedy, tj .:
VersDateAuthorNote1.0.112/10/11PaulAdded a new boss to level 121.0.222/11/11FrankFixed the bug introduced byPaul
Prywatne forum lub jeszcze lepiej Wiki to dobry sposób na przekazywanie pomysłów i informowanie wszystkich o postępach.
Podane już pomysły są lepsze niż to rozwiązanie, ale jest to bardzo łatwe do wdrożenia przy minimalnym nakładzie czasu, w przypadku małego projektu z udziałem kilku osób pracujących razem może być wystarczający dla Twoich potrzeb.
Pracując dla dużej globalnej organizacji, mogę szczerze powiedzieć, że ilość czasu straconego z powodu biurokracji wokół ich oprogramowania do kontroli wersji (MKS) to prawdziwy ból!
nie lubię takich komentarzy na początku każdego skryptu. Zresztą to nie dotyczy tutaj pytania; techniki śledzenia zmian nie mówią nic o tym, jak członkowie zespołu będą dzielić się swoją pracą.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.