====== Collaborative Programming ====== Developers should collaborate to write their programs. They write better software when they work together. ===== Version Control ===== [[git]] is basically a must-have for teams consisting of >0 developers. ===== Collaborative Editing ===== * Microsoft's [[https://visualstudio.microsoft.com/services/live-share/|Live Share]] service * extension for [[.:editor:vscode|vscodium]] * you might need to [[https://docs.microsoft.com/en-us/visualstudio/liveshare/use/vscode#sign-in-using-a-user-code|sign in via a "user code"]] * [[https://docs.microsoft.com/en-us/visualstudio/liveshare/quickstart/browser-join|online version]] * [[.:editor:vim|vim]], [[.:editor:nano|nano]], [[.:editor:emacs|emacs]] or other CLI editors/IDEs over tmux * screen sharing, e.g. with Jitsi * [[https://plugins.jetbrains.com/plugin/11955-teamhub|JetBrains Teamhub]] plugin for Jetbrains IDEs * [[https://teletype.atom.io/|Teletype]] add-on for [[.:editor:atom|Atom]] ==== web tools ==== * [[https://syncfiddle.net/|Syncfiddle]] – share a link and start coding * [[https://codepen.io/|CodePen]] – web based frontend code editor * [[https://codeanywhere.com/|Codeanywhere]] – Web IDE ==== Links ==== * [[https://martinfowler.com/articles/on-pair-programming.html#RemotePairing|On Pair Programming – Remote Pairing]] (Martin Fowler)