Projekt zu zweit programmieren, wie?

7 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Dafür benutzt man eine Versionsverwaltung. Die meistverbreitete ist Git. Damit könnt ihr sogenannte Commits erstellen, eine Sammlung von Änderungen. Eine Reihe von diesen Commits gibt euch eine History.

Warum nicht ein Cloudspeicher? Ganz einfach: Wenn das ständig hin und her synchronisiert wird, gibt es

  • zu viele Konflikte, Synchronisation stoppt
  • die Änderungen werden direkt vollautomatisch in das Projekt des anderen synchronisiert, das kann zu unvorhergesehenen Problemen führen. Ihr fragt euch dann, warum etwas nicht mehr geht, obwohl es wegen Änderungen ausgelöst wurde, die automatisch Synchronisiert wurden

Dazu: Mithilfe von mehreren Branches könnt ihr einzelne Features getrennt voneinander entwickeln, sodass ihr euch nicht die ganze Zeit Änderungen hin und her schiebt.

Beachtet: Git ist nicht einfach so zu benutzen. Es gibt zwar GUIs (zum Beispiel in eurer IDE), trotzdem braucht ihr aber das Wissen.

Zum Üben kann ich euch diese interaktive Website empfehlen: https://learngitbranching.js.org/

Damit ihr euer Projekt auch untereinander austauschen könnt, braucht ihr einen Ort, um es hochzuladen. Github wäre ein guter Ort dafür.

Tutorials dazu, wie ihr Git mit Github nutzt, gibt es auch zu genüge.

Woher ich das weiß:Berufserfahrung – Informatiker Applikationsentwicklung

Logo, ihr macht euch ein Repository z.B. auf GitHub und los gehts: https://legacy.thomas-leister.de/github-fuer-anfaenger-repository-anlegen-und-code-hochladen/

Ihr könnt gleichzeitig an den selben Dateien arbeiten, Commits mit entsprechenden Kommentaren machen (wer hat welche Änderungen gemacht), Reviews anfordern etc. etc. Einfach mal ein wenig einlesen oder auf YouTube Tutorials kucken.

Woher ich das weiß:Studium / Ausbildung – Masterstudium Elektrotechnik - Schwerpunkt Embedded Systems

Meine Güte die Antworten hier schon wieder. Hauptsache erst mal den einzig "wahren" Weg raus hauen aber dann auf die eigentliche Frage nicht eingehen.

Ich nutze kein PyCharm und kann dir daher keine konkrete Lösung bieten aber für andere Editoren wie VS Code oder Atom geht das auf jeden Fall über Erweiterungen. Bei Atom war es glaube ich sogar standardmäßig integriert und bei VS Code scheint es eine "Live Share" Erweiterung zu geben aber da ich den Editor auch nicht mehr nutze kann ich dir nicht sicher sagen ob das die beste Lösung ist.

Eine andere Möglichkeit ist so etwas wie Microsoft Teams zu nutzen, da können auch Leute über die Bildschirm teilen Funktion den PC remote steuern.

Ich würde also entweder fürs zusammen arbeiten einen anderen Editor oder Screenshare nutzen wenn ihr keine Erweiterung für PyCharm findet.

Und jetzt zu dem Teil den hier irgendwie keiner anspricht (abgesehen davon dass die eigentlich Frage nicht beantwortet wird):

Es gibt valide Gründe zusammen Code zu schreiben

Worauf hier keiner eingeht ist wann und warum man Code zusammen schreiben sollte und wann nicht, weil es gibt eben doch valide Gründe zusammen an Code zu arbeiten. Was du möchtest ist kein valider Weg um permanent zusammen zu arbeiten. Da haben die anderen völlig recht, da nimmt man eine Versions Verwaltung. Was du beschreibst nutzt man aber sehr wohl zum lernen und wenn man ein Problem hat bei dem man alleine nicht weiter kommt. Oft schreibt hier allerdings eine Person den Code und der andere schaut zu und gibt Feedback oder Ideen und dann tauscht man auch mal.

Um effektiv zusammen arbeiten zu können will man aber eher nicht Zeitgleich an der selben Datei arbeiten wenn man nicht auch wirklich aktiv an der gleichen Sache zusammen arbeitet. Das funktioniert oft nicht gut weil man sich in die Quere kommt.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops

Wenn ihr beide nur temporär in einer Datei gleichzeitig arbeiten wollt dann gibt es ein Sessions Feature wo einer ne Session aufmachen kann der andere joined und dann seht ihr alle änderungen gegenseitig. Ansonsten falls das ganze etwas komplexer werden sollte schließe ich mich den anderen an und würde sagen um git kommt ihr nicht drum herum...

Woher ich das weiß:Hobby – Ich Programmiere seit 3,5 Jahren mit Python

Würde von sowas eher abraten (für den Anfang) da ein hohes Risiko besteht, dass ihr so sehr unproduktiv arbeitet und ein Großteil der Zeit mit plaudern verbringt.

Woher ich das weiß:Studium / Ausbildung – Software-Entwickler

skiddy  21.10.2021, 10:09

Nicht unbedingt. Wenn man z.B. auf Github ein Repo mit zwei unterschiedlichen branches anlegt nicht unbedingt. Solange man nicht in eine einzige Datei zusammen comitten möchte.

cuser03  21.10.2021, 10:28
@skiddy

Ja meine es nicht so im Sinne von dass man Merge Konflikte hat beim Entwickeln, sondern es besteht halt das Risiko dass man mehr Zeit mit Spaß haben und reden verbringt, als das (durchaus anstrengende) Lernen einer Programmiersprache. Aus dem selben Grund rate ich auch eher zu einem Sachbuch als Youtube Tutorials.

skiddy  21.10.2021, 10:30
@cuser03

Das mit dem Reden war auch mein Gedanke. Vielleicht habe ich mich schlecht ausgedrückt.