Gängige Anwendungsfälle

Das Hauptziel von Visual Studio Live Share ist es, Entwicklern die Einfacherkeit der Zusammenarbeit zu ermöglichen, ohne eine Meinung darüber zu geben, wann und wie sie vorgehen (z. B. welches Kommunikationstool verwendet werden soll, die "richtige" Softwaremethodik oder SCM-Workflow). Auf diese Weise können Ihre Tools Interaktionen unterstützen, die natürlich und so häufig wie nötig auftreten, aber in einer Weise, die ergänzt, wie Sie bereits arbeiten möchten.

In diesem Dokument werden einige Anwendungsfälle hervorgehoben, für die Visual Studio Live Share bereits verwendet wird, und beschreibt, wie gut wir sie derzeit unterstützen, und möglichkeiten, wie wir sie weiter optimieren möchten (basierend auf Feedback!). Wenn Sie Live Share für etwas verwenden, das noch nicht behandelt wird, oder wenn Sie glauben, dass wir einen bestimmten Anwendungsfall besser unterstützen können, teilen Sie uns bitte mit.

Schnelle Unterstützung

Wenn ein Problem auftreten (z. B. versuchen, einen Fehler zu beheben, Ihre Umgebung einzurichten), können Sie Visual Studio Live Share verwenden, um sofort Hilfe von einem anderen Peer zu suchen. In vielen Fällen ist es nicht sofort klar, welchen Kontext die Person benötigt, die Hilfe bereitstellt, und daher hilft Live Share, indem sie den Zugriff auf Ihr gesamtes Projekt einfach macht, und wenn/falls erforderlich, inkrementell mehr freigeben (z. B. einen lokalen Server, schreibgeschütztes Terminal). Es ist nicht erforderlich, Codeausschnitte und/oder Fehlermeldungen hin- und herzusenden!

Da Live Share Es Ihnen ermöglicht, Ihre aktive Debugsitzung freizugeben, ohne dass "Gäste" erforderlich sind, um eine der erforderlichen Plattformen SDKs (z. B. Node.js, Go, .NET Core) oder Toolerweiterungen zu installieren, kann es Ihnen helfen, die Auflösung schneller zu erhalten und zu verhindern, dass "keine Propro auf meinem Computer" Situationen auftritt. Mit der Live-Freigabe können Sie debugstatus für andere Personen freigeben, für jede Programmiersprache oder Laufzeitumgebung (z. B. Kubernetes, React Native App) und so unabhängig davon, wofür Sie Hilfe benötigen, können Sie ihn freigeben!

Arbeitszeiten

Viele Unternehmen und Bildungseinrichtungen (z. B. Schulen, Onlineschulungen) unterstützen ihre Kunden/Mitarbeiter/Studenten zu vorbestimmten Zeiten und im Allgemeinen über eine wiederkehrende Häufigkeit (z.B. jeden Freitag von 3-5 Pm). Auf diese Weise sind "Bürostunden" einfach eine geplante Form der "schnellen Hilfe", anstatt ganz ad-hoc zu sein. Live Share erleichtert es Ihnen, hilfe schnell zu erhalten, da der "Experte", der Hilfe bereitstellt, sofort an einer Zusammenarbeitssitzung teilnehmen und Ihre Fragen beantworten kann, ohne überhaupt ihren Computer einrichten zu müssen.

Paarprogrammierung

Einer der am häufigsten verwendeten Szenarien für Visual Studio Live Share ist "Paarprogrammierung": zwei oder mehr Entwickler, die gemeinsam an einer gemeinsamen Aufgabe zusammenarbeiten, mit dem Ziel, Wissen zu teilen, den Zusammenhalt des Teams und potenziell die Produktqualität zu erhöhen. Das genaue Aussehen und Verhalten der Paarprogrammierung kann je nach Folgendem (u. a.) erheblich zwischen Teams und Situationen unterschiedlich sein:

  1. Der Umfang der "Aufgabe", an der gearbeitet wird (z. B. ein Fehler, eine Benutzergeschichte)

  2. Die erwartete Dauer der Zusammenarbeitssitzung (z. B. zwei Minuten, eine Stunde, Vollzeit, einmal pro Woche, TBD)

  3. Die Anzahl der beteiligten Personen (z. B. zwei, das gesamte Team)

  4. Die Rolle jedes Teilnehmers (z. B. "Fahrer", Beobachter/Prüfer, Fachexperte)

  5. Die Nähe der Teilnehmer (z.B. ko-located im selben Gebäude, auf der ganzen Welt)

Live Share wurde entwickelt, um für alle oben genannten Bedenken agnostisch zu sein, und stattdessen bemüht sich, die Paarprogrammierung zu unterstützen, die völlig "opportunistisch" ist und Auf Ihre Situation ausgerichtet ist. Im Gegensatz zu zwei Entwicklern, die eine einzelne Tastatur und einen einzelnen Bildschirm teilen, ermöglicht Live Share eine Form der Paarprogrammierung, mit der Entwickler an einem gemeinsamen Ziel arbeiten können, ohne ihre individuelle Autonomie oder Umgebungspräferenzen zu entfernen. Sie können unabhängig oder gemeinsam zusammenarbeiten, sodass jeder Teilnehmer seinen eigenen Gedankenprozess zur Zusammenarbeit bringen kann.

Um diesen Anwendungsfall noch weiter aufzuschlüsseln, stellen die folgenden Elemente Formen der Paarprogrammierung dar, die wir beobachtet haben, die Leute mithilfe von Live-Freigabe für:

Mob-Programmierung

Mob-Programmierung (oder Schwarmprogrammierung) ist im Wesentlichen Paarprogrammierung, aber mit mehr als zwei Personen. Daher gelten auch alle Vorteile von Live Share für die Paarprogrammierung. Darüber hinaus führen einige Teams "Schwarmieren" nach Bedarf aus (z. B. das Team, das sich um einen Feuerbohrer herumrafft), im Gegensatz zu Vollzeit.

Derzeit unterstützt Live Share bis zu 30 Gäste innerhalb einer Sitzung.

Tipp

So aktivieren Sie 30 Gäste in einer Sitzung:

  • VS-Code: Hinzufügen von "liveshare.increasedGuestLimit":"true" zu settings.json
  • VS: Festlegen von Extras > Optionen > Live Share > Erhöhte Gastgrenze auf "True"

Codierungswettbewerbe / Hack-A-Thons

Codierungswettbewerbe und Hack-a-Thons sind effektiv kurzfristige, Single-Task-Variationen der Mob-Programmierung. Auch die Mitglieder des Teams und ihre aktuelle Rolle sind potenziell dynamisch. Da dieser Anwendungsfall in der Regel auch zeitempfindlich ist, kann die Möglichkeit, in Echtzeit zusammenzuarbeiten, ohne ein völlig neues Tool übernehmen zu müssen, und die Möglichkeit, zusammenzuarbeiten, ohne auf einen einzelnen Bildschirm oder eine Tastatur beschränkt zu sein, eine Protokollierweise zur Erhöhung der Geschwindigkeit.

Da die Teilnehmer in dieser Umgebung möglicherweise nicht immer vollständig "vertrauenswürdig" sind, können Sie einen Gast jederzeit aus einer Sitzung entfernen (und blockieren). Dadurch erhalten "Hosts" die vollständige Kontrolle über ihre Umgebung.

Schulgruppenprojekte

Gruppenprojekte sehen am Ende so aus, wie die Mobprogrammierung, bei der mehrere Schüler zusammenarbeiten und nahtlos zwischen dem Fokus auf eine einzelne Aufgabe oder gleichzeitiger Arbeit an separaten Aufgaben wechseln können. Anstatt sich einfach auf die Versionssteuerung zu verlassen, um asynchron zusammenzuarbeiten, können sie Live-Freigabe verwenden, um in Echtzeit zusammenzuarbeiten, was den sozialen und pädagogischen Vorteilen der Arbeit in einer Gruppe helfen kann.

Entwicklerstreaming

Entwicklerstreaming (über Twitch oder Mixer) ist zu einer überzeugenden neuen Form der Bildung geworden. Während Live Share nicht dazu gedacht ist, ihre Übertragungsplattformen zu ersetzen (obwohl wir die Anfrage gehört haben!), bietet es eine Möglichkeit, das Programm vom Host mit einem oder mehreren Gästen zu koppeln und dann diese Interaktion zu streamen. Auf diese Weise können Die Zuschauer potenziell mehr lernen, indem sie die natürliche Interaktion und den Gedankenprozess von zwei oder mehr Entwicklern sehen, die sogar in völlig separaten Betriebssystemen und IDEs zusammenarbeiten könnten!

Prototyperstellung / Projektannahme

Wenn ein Team ein neues Projekt/Microservice startet, oder prototypen/spiking ein neues Feature, kann es oft hilfreich sein, zusammenzuarbeiten, um schnelle Fortschritte zu erzielen und neue Ideen zu erkunden. Da die neu erstellte Codebasis möglicherweise noch nicht zu einem freigegebenen Repository verpflichtet ist, ermöglicht Live Share allen, am iterativen Prozess teilzunehmen, unabhängig davon, ob sie sich im selben Büro befinden oder nicht.

Interaktive Bildung

Im Allgemeinen unterstützt Live Share Entwickler beim Teilen von Wissen in ihrem Team. Education ist ein grundlegender Anwendungsfall für Live Share und unterstützt dies besonders gut, indem jeder Teilnehmer mit der Codebasis interagieren kann, an der gearbeitet wird, anstatt einfach einen Bildschirm anzusehen. Jeder lernt auf subtile Art und Weise, und deshalb, indem er eine Unabhängigkeit für einen "Schüler" bereitstellt, können sie die gegebene Anweisung nutzen, ohne ihre Fähigkeit zu opfern, ihre eigenen Ideen entlang des Weges zu erkunden.

Peer-Mentoring / Onboarding

Bei der Einführung eines Entwicklers in eine neue Codebasis, Featurebereich, Technologie usw. können Sie Live-Freigabe verwenden, um sie durch das Projekt zu führen (mithilfe Follow Mode), sodass sie zusammen mit Ihnen folgen können, aber in ihrer eigenen persönlichen IDE. Da Live-Freigabe es "Gästen" ermöglicht, unabhängig im Projekt zu navigieren (z. B. Öffnen einer Datei, Ausführen einer Peek DefinitionDatei), können sie dies zulassen, aber auch schnelle Erkundungen nach Bedarf durchführen (z. B. "Hmm, was macht diese Funktion?").

Team Brown Bags

Braune Teamtaschen sind effektiv wie Peer-Mentoring, aber einem ganzen Team präsentiert und potenziell stärker auf die Sozialisierung allgemein nützlicher Kenntnisse ausgerichtet, im Gegensatz zu On-Boarding-Support und/oder hilfe bei einer bestimmten Aufgabe.

Unterrichtsvorträge

Wenn Kursleiter eine Lektion unterrichten, können sie Live-Freigabe verwenden, um ihr Projekt mit Schülern zu teilen, anstatt einfach ihren Bildschirm vorzustellen. Dies ermöglicht es dem gesamten Kurs, zusammen mit dem Lehrer zu folgen, während er selbst mit dem Projekt interagieren kann. Darüber hinaus kann der Lehrer einzelne Schüler bitten, bei der Lösung eines bestimmten Teils der Lektion zu helfen (z. B. "Welche Methode sollten wir hier anrufen?"), was bei den sozialen Aspekten des Kurses helfen kann, ohne dass die Schüler in den Vordergrund des Raums gehen müssen oder sogar physisch im selben Raum (z.B. Onlinekurse) anwesend sind.

Zur Unterstützung von Kursraumeinstellungen ermöglicht Live-Freigabe die Freigabe im schreibgeschützten Modus. Kursleiter können den schreibgeschützten Modus verwenden, damit sie ihre Projekte für Kursteilnehmer freigeben können, ohne sich gedanken über unnötige oder versehentliche Bearbeitungen machen zu müssen.

Darüber hinaus unterstützt Live Share bis zu 30 Gäste, die an einer Zusammenarbeitssitzung teilnehmen. Auf diese Weise können Kursleiter ihren gesamten Kurs in einer Sitzung beitreten und Code zusammen anzeigen.

Sie können dieses Feature wie folgt aktivieren:

  • VS Code: Fügen Sie "liveshare.increasedGuestLimit":"true" zu settings.json hinzu.
  • VS: Festlegen von Extras > Optionen > Live Share > Erhöhte Gastgrenze auf "True"

Code Reviews

PRs sind eine leistungsstarke Möglichkeit, mit anderen zusammenzuarbeiten, stellen jedoch in der Regel den Abschluss einer Aufgabe dar (ohne "WIP"-PRs) und den Wunsch, sie zusammenzuführen. Viele Male könnte das Feedback, das in einer PR gegeben wird, früher leicht gegeben worden sein, und daher gibt es potenziell Wert für Teams, leicht und kontinuierlich Ratschläge von ihren Kollegen zu suchen, anstatt zu warten, bis sie eine Aufgabe "abgeschlossen" haben, um sie zu fragen.

Da Live Share Ihnen ermöglicht, Ihr Projekt sofort für andere Personen freizugeben, kann es verwendet werden, um "informelle" /Ad-hoc-Codeüberprüfungen zu aktivieren, bei denen Sie nicht um Hilfe bitten, sondern einfach Eingaben suchen, um Ihre Richtung und/oder Ihren Ansatz an andere personen auszurichten. Dies kann möglicherweise dazu beitragen, dass nachfolgende PRs schneller abgeschlossen werden, und auf jeden Fall hilft, Wissen im gesamten Team zu socialisieren.

Da Live Share Ihnen das Freigeben eines beliebigen Verzeichnisses ermöglicht, können Sie es auch dann verwenden, wenn Sie derzeit keine Versionssteuerung verwenden (obwohl Sie sollten!), oder wenn Ihr Team keine PRs verwendet (z. B. die Trunk-basierte Entwicklung).

Technische Interviews

Beim Interview von Kandidaten für eine Entwicklerposition kann es oft hilfreich sein, über Whiteboarddiskussionen hinauszugehen, und stattdessen beobachten Sie, wie sie ein Codierungsproblem innerhalb einer tatsächlichen IDE lösen (insbesondere, wenn Ihr Team/Ihre Organisation auf einem Tool,das Sie verwenden möchten, "standardisiert" hat). Dies bietet ihnen nicht nur den Vorteil, auf eine Weise zu arbeiten, die potenziell natürlicher/komfortabler ist (die meisten Entwickler coden nicht auf Whiteboards!), sondern gibt ihnen auch sofortiges Feedback/Unterstützung bei der Arbeit (z. B. Buildfehler, IntelliSense). Oft ist es wichtiger, den Gedankenprozess eines Kandidaten zu verstehen, im Gegensatz zu ihrer Fähigkeit, genaue Syntax und/oder API-Namen zu merken. Auf diese Weise bietet Live-Freigabe eine Erfahrung, die mit der Ausführung einer Paarprogrammierungssitzung vergleichbar ist, aber es dem Teilnehmer ermöglicht, sich in ihrer eigenen Umgebung zu befinden (einschließlich Betriebssystemeinstellungen, z. B. Barrierefreiheit), und würde auch für lokale oder Remoteinterviews gleichermaßen funktionieren. Die Teilnahme an einer Sitzung aus dem Web ermöglicht es dem Kandidaten, die Entwicklungsumgebung und die Codebasis des Teams zu verwenden, ohne etwas herunterzuladen.

Darüber hinaus ist die reale Entwicklung mehr als einfach Code zu schreiben. Da Live Share auch gemeinsam genutztes Debuggen, Aufgaben und Terminals unterstützt, können Interviewer Kandidaten während der Diagnose eines Problems beobachten und ihnen die geeigneten Tools zur Lösung bereitstellen (z. B. Schritt-Debug, Ausführen von Tests). Da der gesamte Kontext vom Hostcomputer entfernt wird, können Kandidaten schnell in die "Interviewumgebung" springen, ohne ihren Computer einrichten zu müssen (über die Installation von Live Share hinaus). Teams könnten dann ein Repository freigegebener Interview-Apps verwalten (oder ihre tatsächliche Produktcodebasis verwenden), die geklont und für Kandidaten freigegeben werden könnten, indem sie sie einfach vor jedem Interview die Sitzungs-URL senden.

Remotearbeit

Arbeiten Sie von zu Hause aus, ohne die Toolkette Ihres Heimentwicklungscomputers mit Ihren Arbeiten synchronisieren zu müssen. Beenden Sie diese Codezeile schnell von zu Hause aus, ohne von der Arbeit zu pushen, klonen Sie das Repository zu Hause herunter, und suchen Sie die genaue Zeile, an der Sie gearbeitet haben. Verbinden Sie sich von einem leichten Laptop mit Ihrer schwergewichtigen Arbeitsmaschine.

Siehe auch

Gibt es Probleme? Lesen Sie Troubleshooting oder Feedback geben.