Come si può usare un editor live

2

Stavo pensando a un ambiente di editing live in cui il codice / un file sorgente è sincronizzato in modo che le modifiche apportate da un utente vengano trasferite a tutti gli altri che modificano il file. Qualcosa come Google Wave, ma per codice.

Questo tipo di ambiente potrebbe essere migliore per il codice, poiché le modifiche vengono condivise istantaneamente? (con controllo di revisione, ovviamente)

Qualcuno ha provato (o ne ha avuto bisogno) l'uso di un ambiente condiviso per il codice? Mi piacerebbe sentire qualcuno che ha usato un editor di questo tipo.

    
posta Sathvik 19.11.2011 - 17:50
fonte

4 risposte

5

Stai parlando di un editor collaborativo in tempo reale , che è una vecchia idea. Ci sono numerosi prodotti che lo supportano a vari livelli. Dai un'occhiata a SubEthaEdit per un esempio recente. Questo screenshot fornisce una panoramica di come potrebbe essere utilizzato nella pratica.

    
risposta data 20.11.2011 - 09:00
fonte
5

Posso pensare a un solo caso d'uso in cui tale comportamento sarebbe un vantaggio: abbina la programmazione in una squadra separata geograficamente. E quindi il file dovrebbe essere bloccabile e si dovrebbe essere in grado di concedere il permesso di modifica solo alle persone con cui si desidera lavorare in questa sessione. Ma questo scenario può già essere gestito meglio, con altri strumenti come TeamViewer per esempio.

Per molti altri casi d'uso questo scenario è orribile. Ci sarebbero molte collisioni tra le persone che stanno modificando il codice contemporaneamente. Hai mai provato dei probemi durante l'unione del codice nel controllo del codice sorgente? E ora vuoi avere questi problemi mentre lavori dal vivo su un file? In tempo reale? Il tuo codice è incasinato e non puoi compilarlo perché qualcun altro ha appena premuto il pulsante Salva? O ancora peggio, i tuoi cambiamenti si perdono! Congratulazioni, hai appena perso due ore di lavoro solo perché qualcuno ha deciso di salvare la sua versione.

    
risposta data 19.11.2011 - 18:23
fonte
1

Ho usato un VCS in cui hai visto immediatamente il check-in degli altri se non avessi modificato i file. E 'stata una benedizione mista. È stato abbastanza utile che sembri sincronizzare il mio spazio di lavoro molto più spesso che coloro che non hanno usato tale sistema, ma abbastanza problematico, apprezzano la possibilità di ritardare la sincronizzazione in un momento conveniente per me.

In tempo reale, unire il file che sto attualmente modificando con quello che i miei colleghi stanno facendo ora sullo stesso file sarebbe da incubo. Come hai potuto lavorare senza essere sicuro che lo strano comportamento provenga dai miei cambiamenti (che è già talvolta difficile ammettere e trovare) invece del loro? Che dire di loro che introducono una dipendenza da una modifica su un file che non sto modificando?

    
risposta data 19.11.2011 - 18:22
fonte
1

È una buona idea, ma l'unica volta che sarebbe utile è per la programmazione di coppie remote, come menzionato da Falcon.

I sistemi di controllo della versione e i test automatici eliminano la necessità di vedere quali modifiche fanno le altre persone. Un repository condiviso si assicura che tutto il codice si adatti insieme e il test unitario / funzionale aiuta a prevenire errori di introduzione. Quindi una persona non ha bisogno di vedere il codice scritto da qualcun altro.

    
risposta data 21.11.2011 - 06:56
fonte

Leggi altre domande sui tag