Cosa posso fare per prevenire la frequente perdita di codice? [chiuso]

0

programma come un hobbista. Principalmente codice utilizzando uno strumento online (un sito Web) che mi consente di scrivere, eseguire, condividere e eseguire il debug di codice online.

Il sito web che uso ha il controllo della versione integrato.

Abbastanza spesso, mi dimentico di salvare il mio codice. Chiudo la scheda accidentalmente, ed ecco, ore di codice sono sparite. Questo è davvero fastidioso e non mi piace rifare quello che avevo già fatto.

Dato che non sono uno sviluppatore professionista, non riesco a immaginare l'acquisto di strumenti (probabilmente costosi) che mantengano il codice sorgente sicuro e non posso permettermi di spendere mesi a imparare e praticare pratiche e processi utilizzati dagli sviluppatori professionisti.

Che cosa posso fare, da hobbista, per evitare di perdere ripetutamente il codice?

    
posta OldBunny2800 16.06.2016 - 22:06
fonte

3 risposte

6

Potresti usare la tua delusione e il tuo turbamento come un'opportunità per imparare qualcosa.

Qualsiasi buon editor prende frequenti istantanee del tuo studio, inclusi emacs e ogni IDE che ho usato. Dovresti trovare un editor che lo faccia e usarlo.

Di solito è necessario salvare il codice per eseguirlo, quindi se stai sviluppando localmente questo dovrebbe essere meno di un problema. Ovviamente puoi ancora cancellare accidentalmente un file, che è il punto in cui arriva il controllo del codice sorgente.

Dovresti anche avere l'abitudine di usare il controllo del codice sorgente. git non si auto-salva ma più usi git più sei abituato a eseguire commit frequenti. Anche altri software di controllo del codice eseguiranno istantanee frequenti per te.

Oltre a ciò, la ripetizione di alcune ore di lavoro richiede solo un'ora o così, o fallo o fai qualcos'altro, è davvero la tua chiamata.

    
risposta data 16.06.2016 - 22:46
fonte
25

L'obiettivo di Repl > è scrivere e condividere brevi snippet di codice. Ad esempio, puoi usarlo per illustrare il tuo punto quando discuti un aspetto particolare del tuo linguaggio di programmazione preferito con altri programmatori, oppure puoi usarlo per disegnare un codice in pochi minuti .

Repl > non ha lo scopo di scrivere e mantenere in pratica la base di codice di qualsiasi dimensione, nemmeno gli script brevi che si intende riutilizzare per eseguire attività ripetitive. Se spendi almeno mezz'ora per scrivere il codice, Repl > è lo strumento sbagliato per questo.

Invece:

  • Usa controllo versione. Git, SVN, qualunque sia. Il controllo della versione è lo strumento principale e obbligatorio per qualsiasi team di uno o più sviluppatori, compresi gli hobbisti.

  • Verifica che il repository di controllo versione disponga di (1) backup regolari, (2) automatici (3) esterni al sito . Regolarità significa che non perderai due mesi del tuo lavoro. Automatico significa che i backup saranno eseguiti; non importa quanto strongmente credi che eseguirai i backup manualmente su base regolare, quando si verificherà un disastro, scoprirai che non li hai fatti da qualche mese. Fuori sede significa che non si mantengono i dati effettivi e i backup in una stessa posizione geografica. Se lo fai, i ladri e i ladri mettono a rischio sia i dati che i backup.

  • Impegna frequentemente il tuo codice al controllo della versione. Sebbene non vi sia alcuna regola rigida che ti impegni a rispettare una frequenza ben definita, assicurati di eseguire un commit non appena hai apportato una modifica logica alla tua base di codice: aggiunta una funzione, risolto un problema, refactored qualcosa. Se stai attivamente codificando l'intero giorno e non hai commesso alcun commit, di solito indica che non stai facendo commit abbastanza frequentemente.

    L'impegno frequente è importante se si desidera ridurre le conseguenze del disbrigo delle modifiche correnti. Immagina di dedicare due ore all'implementazione di una funzione, ma attendi fino alla sera per impegnarti. In seguito, correggi un bug e, per errore, sovrascrivi uno dei file che contengono la funzione recente: questo rovina le tue due ore di lavoro.

    Tuttavia, non commettersi troppo frequentemente (l'impegno, su base regolare, una volta al minuto sarebbe considerato troppo frequente). Se il numero di commit aumenta, diventa più difficile tenere traccia di ciò che è stato effettivamente fatto attraverso il log di commit.

Se stai scrivendo codice open source, usare il controllo della versione è facile. Ad esempio, GitHub ospita il codice per te gratuitamente. Se avere un repository pubblico non è una soluzione per te, puoi ospitare il tuo server Git / SVN gratuitamente o pagare per repository privati ( secondo Richard Tingle , puoi anche ottenere piccoli repository privati gratuitamente).

Cos'altro? Bene, questo sarebbe tutto ciò di cui hai bisogno. Non devi pagare qualche migliaio di dollari per Visual Studio o passare mesi a studiare pratiche specifiche. Almeno, il problema della perdita di codice dovrebbe essere risolto con un semplice controllo di versione come strumento e frequenti commit come pratica.

    
risposta data 16.06.2016 - 22:50
fonte
6

Il costo degli strumenti professionali

gravemente sottostima la disponibilità degli strumenti gratuiti . Lo sviluppo del software è un settore con una ricchezza di strumenti completamente gratuiti che gli sviluppatori professionisti utilizzano ogni giorno.

Cose gratuite che uso regolarmente nel mio lavoro di sviluppatore:

  • git (controllo del codice sorgente, la cosa più importante che stai cercando qui.)
  • KDiff3
  • SourceTree
  • Notepad ++ (ottimo editor di testo in chiaro su Windows)
  • Python
  • Un gran numero di pacchetti Python (flask, SQLAlchemy, click, pyparsing, attrs, setuptools / pip, richieste e molti altri)
  • PowerShell
  • bash
  • Linux (varie distribuzioni, ad es. Debian, Centos)
  • Chrome con strumenti di sviluppo o Firefox con Firebug
  • PostgreSQL
  • PostGIS
  • pgAdmin
  • MSYS2
  • 7-zip
  • GDAL
  • SQL Server Management Studio
  • Oracle SQL Developer
  • QGIS
  • PuTTY
  • WinSCP
  • Node.js
  • SchemaSpy (vecchio, ma ancora gratuito)

Ok, devi avere Windows per alcuni di questi, che non è gratuito, ma non per la maggior parte di essi. E probabilmente hai un computer Windows da qualche parte o puoi trovare un equivalente non Windows.

Molti software hanno anche versioni a pagamento e gratuite, e molto spesso, la versione gratuita è completa di tutte le funzionalità per essere utile. Alcuni esempi:

  • SQL Server (Express = gratuito)
  • PyCharm (Community = free)
  • MarkdownPad
  • Visual Studio (Community = free, principalmente)
  • Slack
  • Bitbucket

Spero che tu possa consultare questo elenco e vedere che puoi praticamente mettere insieme e l'intero stack di applicazioni senza pagare un centesimo, e che tutti possono essere installati ed eseguiti sul tuo computer locale. Inoltre, sto solo graffiando la superficie con le cose che io personalmente uso regolarmente, come professionista . L'unica cosa che è difficile trovare gratuitamente è l'hardware, ma ci sono anche alcune opzioni su questo fronte per l'hosting web. (Heroku è un esempio.)

Non perdere il lavoro

Lavora localmente.

Per cominciare, devi lavorare localmente. Inizia a utilizzare un editor per salvare i tuoi file di codice su disco. Un certo numero di editori "salva" anche copie funzionanti che possono essere recuperate se il programma si blocca. (L'umile Notepad ++ lo fa, anche.) Scarica e installa il runtime per la lingua che usi. Usalo per eseguire e testare il tuo codice.

È possibile utilizzare un IDE completo o un editor di testo semplice. Se la lingua non lo rende troppo difficile (come fa C #, ad esempio), generalmente consiglio di iniziare con un editor di testo semplice. Imparerai di più sul processo di esecuzione del codice in questo modo e ciò renderà la tua vita più semplice in seguito.

Se questo non è sufficiente per proteggere il tuo codice, allora ...

Usa controllo del codice sorgente

Il controllo del codice sorgente ti consente di mantenere una cronologia delle tue modifiche. Modifica i tuoi file e poi li li li impegnano. Il software tiene traccia di quali cambiamenti si sono verificati tra due commit. Oltre a salvare le modifiche, riempie anche i ruoli del spostamento del codice (verso server o macchine di altri sviluppatori) e dell'integrazione di diversi set di modifiche agli stessi file insieme.

Per te, consiglio vivamente git. È lo strumento di controllo del codice sorgente dominante nell'industria del software in questo momento, sia professionalmente che non professionalmente. Mentre git è più comunemente usato con un server, il suo design ti permette di tenere tutto in una sola cartella sulla tua macchina. Se vuoi preservare le tue modifiche da qualche altra parte, controlla i servizi git che offrono repository gratuiti.

git può essere un po 'difficile da avvicinare, quindi se lo trovi troppo difficile, puoi prendere in considerazione l'SVN. È molto più facile da imparare, ma richiede l'esecuzione di un server. Puoi eseguirne uno localmente, ma sarà probabilmente più semplice trovare un servizio che offra repository gratuiti.

I repository gratuiti sono in genere limitati in qualche modo, ma dato che hai fatto ricorso a repl.it, sono sicuro che puoi trovare un servizio con limitazioni con cui puoi convivere.

Qualcosa da considerare è che sia gli hobbisti che i professionisti usano il controllo del codice sorgente. Oggi è atteso per qualcosa che va oltre il più piccolo dei programmi / script throwaway. Quindi questa è un'abilità necessaria da avere se si vuole essere coinvolti nel mondo dello sviluppo in generale (sia socialmente che professionalmente).

    
risposta data 17.06.2016 - 02:00
fonte

Leggi altre domande sui tag