Ottimizzazione e organizzazione possono significare molte cose, ma cosa significa per te? Fare le cose più velocemente, meglio o più efficacemente? Significa fare le cose in modo più programmatico, semplicistico o usando strumenti più adatti al lavoro?

Beh, con ogni probabilità significa un po 'di tutto questo. Probabilmente sei una persona che lavora come sviluppatore o designer e stai costantemente cercando di ottimizzare il tuo flusso di lavoro e, beh, queste cose potrebbero certamente essere ciò che stai cercando (almeno, un po ').

Ma tieni presente che, nonostante molti consigli e tecniche che hai adottato, in realtà significa pochissimo, a meno che tu non faccia effettivamente il tuo lavoro. Pertanto, con questo in mente, vorrei offrire alcuni dei miei flussi di lavoro e metodi preferiti per l'organizzazione e l'ottimizzazione.

La maggior parte delle persone crede che debbano solo essere organizzati ed efficienti se lavorano in una squadra, perché dopotutto se si è solo una persona, perché non usare il proprio metodo organizzativo? Bene, non c'è nulla di sbagliato in sé, ma è necessario utilizzare alcune tecniche standardizzate per sfruttare al massimo il tuo tempo. Ad esempio, i sistemi di controllo della versione.

Anche cose come i superset di lingua e gli strumenti di sintassi del linguaggio semplicistico possono essere molto utili. Entriamo in alcuni di questi in un modo più specifico, e saremo consapevoli verso la fine di questo articolo. Troverò alcuni superset e strumenti di codice che si concentrano su linguaggi specifici con cui sento che molti di noi lavorano. Il resto, tuttavia, sarà ampiamente definito.

Utensili

Gli strumenti sono un ottimo modo per aumentare la velocità con cui scrivi e implementa il codice. A volte possono essere una distrazione, ma il più delle volte possono essere molto utili. Parlerò principalmente di quelli che ho imparato ad amare nel corso degli anni, ma ce ne sono molti altri là fuori che non coprirò - quindi non credo che questa sia una lista esaustiva ma piuttosto una lista di possibili idee. Pensa a questo, preferibilmente, come un punto di partenza

Editor di testo

Gli editor di testo sono un argomento di molte polemiche. Voglio dire, ammettiamolo, passiamo la maggior parte della nostra giornata al loro interno, e per questo spesso abbiamo preferenze incredibilmente prevenute. Non sono nemmeno al di fuori di questa cerchia di pregiudizi, quindi non aspettarti una comprensione giornalistica di tutti gli editor di testo del mondo qui. Ma piuttosto, alcuni dei miei preferiti e perché mi piacciono.

Mentre leggi questo, tieni presente che io uso più di un editor di testo e per scopi molto specifici. Spesso manterrò alcuni editor di testo chiusi con file client all'interno di essi. Ciò che intendo è che, in Sublime Text 2, potrei lavorare su un progetto di rotaie e avere 14 schede in cui, ogni volta che avvio Sublime, le apre tutte. E poi, per non interromperlo, in realtà tengo il sito di un cliente che potrei fare un design HTML o CSS per TextMate. E con la scrittura di solito lo tengo in una directory TextMate separata in Dropbox o in Scrivener. Quindi tengo tutto separato in questo modo. Quindi, naturalmente, parlerò di Sublime Text 2 (disponibile per Windows e Mac) e TextMate (disponibile solo per Mac).

TextMate

TextMate è uno dei migliori editor in circolazione, per Mac. Ha un design semplicistico, un'interfaccia bellissima e un set di funzionalità potenti. Ma uno dei veri identificatori della qualità del prodotto è la comunità dietro di esso. È dilagante. Stanno creando bundle, script e praticamente qualsiasi cosa tu possa immaginare.

Tuttavia, tenete presente che MacroMates (i creatori) sono stati davvero mancanti nel suo sviluppo. Ora, potrebbe essere un po 'esagerato, ma ci sono voluti anni e anni prima di creare la seconda versione che rispondeva a molte preoccupazioni e problemi della gente. Detto questo, però, rimane ancora un bell'editore e un posto in cui amo scrivere Markdown o codice di quasi tutti i tipi. Lo uso per tutto ciò che posso, quando non sto usando Sublime Text 2. Ha anche un bel font, e molte persone hanno scritto libri, articoli, intere applicazioni web usando questo bellissimo editor - e per una buona ragione. Perché non vai a controllare perché, e vedi di persona .

Testo sublime 2

Sublime Text 2 è un ottimo editor di testo, ma non sono sicuro di quale tipo di stenografia ci si riferisca ad esso - quindi dirò semplicemente Sublime. Sublime, per così dire, è un grande editor. Non l'ho mai usato prima della versione 2, ma dirò che è semplicemente incantevole. Non sono del tutto certo delle differenze, a parte il carattere e il colore di sfondo predefinito, tra questo e TextMate. Devo dire però che adoro il font che usa ( lo so, apparentemente non importante - ma importante per me ), e amo anche il modo in cui esegue l'esecuzione di navigazione a schede.

Invece di parlare di funzionalità, parlerò invece di alcune altre cose. Una cosa a riguardo è un po 'di dolore, prima di saltare nelle altre cose , è che non puoi chiamarlo dalla riga di comando con la stessa facilità con TextMate. Con TextMate, si digita "mate" e si apre quella directory nel suo piccolo cassetto di progetto, funziona perfettamente. Tuttavia, trova ancora utile Sublime senza quella funzione. Sento che lavorare in Sublime è una delizia. Non sono sicuro del perché, forse è bello lavorare su uno sfondo scuro, ma mi piace davvero lavorare in Sublime. Lo uso quando ho bisogno di fare una grande quantità di lavoro. Cioè, un enorme progetto di binari - o simili. Penso che lo troverai anche utile, quindi controlla .

Organizzazione e metodologie del codice

L'organizzazione è un argomento attorno al quale c'è molto dibattito. Molte persone non preferiscono i sistemi complicati per aiutarli a rimanere organizzati, ma in realtà un po 'di complicazioni a breve termine potrebbero aiutarti a organizzarti a lungo termine. So che sembra non intuitivo, ma è molto preciso. Soprattutto quando si tratta di sistemi di controllo delle versioni. Prendilo da me, qualcuno che ha fatto affidamento su FTP, e lo faccio ancora a volte , e non sono mai stato più contento di usare un sistema di controllo della versione.

Utilizzare il controllo del codice sorgente è un ottimo modo per rimanere organizzati. Assicurarti di mantenere i backup del tuo processo di sviluppo è davvero importante, e lasciarlo nelle varie gerarchie di cartelle non lo taglierà davvero nel lungo periodo. Voglio dire, può sembrare buono quando il tuo computer è in esecuzione, ma se hai un crash o un guasto del disco rigido, sei molto piccolo perso.

Cosa puoi fare per risolvere questo però? Bene, è possibile utilizzare un sistema di controllo della versione che acquisisce un'istantanea della directory di sviluppo nel corso dei tempi in cui si sta lavorando. L'utilizzo di questo è un ottimo modo per avere una nuova versione costante e un accesso costante ai backup in caso di bug o di perdite. È anche bello avere un punto. Voglio dire, pensa a quante volte eri tipo "Mi chiedo come l'ho fatto, o implementato quella caratteristica." Bene, ora lo sai letteralmente.

E parlando di sistemi di controllo delle versioni, git è un ottimo modo per farlo. Non hai nemmeno bisogno di conoscenze di sistemi come Mercurial o Subversion per entrare in contatto con il sistema VC che è Git. In effetti, non avevo alcuna esperienza con questi sistemi e mi sono messo subito a correre con Git.

Puoi seguire i comandi direttamente da GitHub quando apri un repository, e poi inserisci quelli nel tuo terminale, e quindi conosci letteralmente quasi tutto ciò di cui hai bisogno. In seguito tutto ciò che devi fare è eseguire il comando commit, ogni volta che vuoi apportare una modifica. Tuttavia, tieni presente che se hai già file dev nella cartella puoi usare "git add.", Invece dell'esempio "touch README" per aggiungere tutti i tuoi file. Concetto molto simile all'apertura di un TextMate o di una finestra in il terminale, dove il periodo indica un'azione del genere .

Ora, prima di concludere questa sezione, vorrei dire che non ho mai usato Mercurial o Subversion, ma in realtà sono opzioni possibili e sono piuttosto popolari tra alcune folle. Ci sono anche siti web che ti permettono di ospitare i tuoi file da sistemi come SourceForge, proprio come fa GitHub.

Prima che finisca anche io voglio menzionare un'ultima cosa. Una GUI Git che aiuterà il tuo processo un po '. E questo è, GitBox . È un ottimo programma e in pratica tutto ciò che devi fare per usarlo è configurare un repository nello stesso modo in cui lo faresti in qualsiasi altro momento (dalla riga di comando). Quindi apri semplicemente GitBox e aggiungi la directory in questione dal tuo computer, e sei letteralmente tutto pronto.

Ogni volta che apporti una modifica, questo verrà automaticamente notato e visualizzato in GitBox, quindi potrai lasciare un commento al tuo commit e poi spingerlo. Tieni presente però che il metodo funziona: "modifica -> commenti (se necessario / nessuno) -> commit -> push".

Assicurati di spingere solo dopo aver effettuato il commit, altrimenti non accadrà nulla. E se stai lavorando con una squadra, assicurati di fare un tiro prima di fare commenti, commit o altro, per essere sicuro di stare lontano da eventuali errori che potresti avere.

Superset e strumenti di codice

Un superset, è spesso definito da una sintassi o estrapolazione del codice che si trova in cima alla lingua sottostante. Esempi di questo potrebbero essere CoffeeScript seduto sopra JavaScript o Node.js che si trova sulla parte superiore del nodo (anche se potrebbe essere considerata una libreria). Potrebbe anche essere descritto come qualcosa come SASS o LESS che si sovrappongono ai CSS che aggiungono effettivamente funzionalità e nuovi metodi per gestire le cose.

SASS, inoltre, aggiunge una nuova sintassi disponibile da utilizzare simile a come CoffeeScript offre a JavaScript. Un buon esempio di una libreria sarebbe jQuery su JavaScript, ovviamente. È qualcosa che probabilmente tutti conosciamo e amiamo ormai, ma è un buon promemoria che stiamo usando una libreria e / o Superset.

Ora, non parlerò di tutte le biblioteche del mondo, perché semplicemente non li ho usati tutti. Né voglio che questo articolo si concentri su librerie specifiche. Per far ciò, ho scelto di parlare invece di superset e di strumenti di codice per alcune lingue che molti di noi usano. Ad esempio HTML, CSS e Ruby on Rails in particolare.

Invece di saltare dentro, diamo un'occhiata ad alcuni esempi per aiutare a capire perché useresti questi strumenti e / o superset. Per esempio, diciamo che stai lavorando in CSS e HTML in Rail (con il tuo sviluppatore forse, o mentre sei lo sviluppatore) e ti senti come se stessi sprecando tempo a scrivere così tanto ERB (che è il modo in cui aggiungi il codice Ruby in rail tu scriverò su rotaie - più su questo Qui ).

Bene, una grande cosa da fare sarebbe da usare HAML per accelerare la scrittura del codice HTML e anche per velocizzare l'implementazione del codice Ruby. HAML è un superset, di sorta, di HTML che ti permette di scrivere codice HTML senza doversi preoccupare di chiudere i tuoi tag e ti permette anche di usare lo spazio bianco a tuo vantaggio - proprio come Python. Diamo un'occhiata a un esempio.

#wrapper%ul%li This created an unordered list, that is properly semantic.

E ciò crea:

  • Test Li
  • Puoi certamente vedere come questo ti farà risparmiare un sacco di tempo. È anche molto divertente e pulito da scrivere. È una gioia, in tutta onestà.

    E che mi dici di quel CSS? Potresti risparmiare molto tempo scrivendo anche quello! SASS offre una funzionalità molto simile, ma senza dover imparare una nuova forma di sintassi. Quindi con un sottoinsieme di SASS (un sottoinsieme di un superset) puoi effettivamente usare lo spazio bianco a tuo vantaggio. Diamo un'occhiata a com'è.

    .wrapper {font-size: 12em;}

    Bene, in SASS questo sembrerebbe:

    .wrapperfont-size: 12em

    Come puoi vedere, in SASS non abbiamo bisogno del {} o del punto e virgola di chiusura. Stiamo anche utilizzando lo spazio bianco per indicare che la dimensione del font è un elemento figlio della classe "wrapper".

    withLet's say you Supponi anche che solo le persone che fanno il backend dev utilizzino i sistemi di controllo delle versioni, ma in realtà, ora dovremmo sapere che non è così. Puoi usare git e Github per tenere traccia di ogni volta che fai un commit di codice, e con strumenti come Gitbox non è mai stato così facile.

    Ora, ovviamente, non tutti userete Ruby on Rails durante la scrittura del codice, ma immagino che un bel po 'di voi lavori con persone che lo usano. Ad ogni modo, indipendentemente copriamo alcune soluzioni per una persona sola che non lavora o usa Rails in alcun modo. Per CSS LESS è un'ottima soluzione. Zen Coding è anche una soluzione per chiunque non stia lavorando su Rails, ma vuole solo velocizzare la velocità con cui digita i tag HTML standard. È davvero molto utile per chiunque. La codifica Zen è davvero facile da iniziare a lavorare. o usa cose come Zen Coding per facilitare i tuoi tag HTML. Ad esempio digitando:

    ul > li*6

    ottieni:

    Puoi anche usare ancora LESS per ottenere i mixin e le variabili e così via. È abbastanza facile lavorare con

    Potresti anche voler prendere uno strumento utile per lavorare nel terminale chiamato Go2Shell. È disponibile gratuitamente sul Mac App Store. Puoi semplicemente usarlo quando hai bisogno di aprire il terminale in una directory specifica che è piuttosto comune. Quindi, per utilizzarlo, devi semplicemente navigare in quella directory nel tuo Finder e semplicemente fare clic sul programma go2shell e avviare il tuo terminale in modo che si apra a quel file. È stupefacente. E questo lo avvolgerà per il momento, restate sintonizzati fino a dopo l'estate però per un breve elenco di luoghi da visitare dall'articolo.

    Questi sono alcuni dei superset e degli strumenti più utili che io conosca per ottenere alcuni dei migliori risultati. Vorrei anche ricordare che questa non era una lista esaustiva o completa con qualsiasi mezzo, quindi per favore cerca di saperne di più. E, come promesso, ecco alcuni dei link a ciò che abbiamo toccato nell'articolo. GitBox , GitHub , Bussola , SASS , HAML , DI MENO , Ruby on Rails . Buona caccia!