Come si rintraccia il codice comune, ma usato raramente?

7

Il generale OO ci insegna a incapsulare e le migliori pratiche ci insegnano l'organizzazione. Quindi ci ritroviamo con un codice auto-documentabile riutilizzabile che ci libera da ogni dettaglio relativo all'implementazione.

Quindi, se ho bisogno di invocare la riga di comando di Windows, utilizzo la mia classe della riga di comando.

class CommandLine
{
   CommandLine(){}
   Invoke(string command) {}
   CloseAsync(){}
   Close Sync(){}
}

Nel tempo queste semplici incapsulazioni diventano librerie. Potremmo anche avere ulteriori classificazioni tramite Namespace. Funziona molto bene nella stessa lingua. Soprattutto quando si tratta di una lingua comunemente utilizzata dallo sviluppatore.

Ma spesso mi imbatto in situazioni, specialmente nelle lingue meno usate, in cui ho bisogno di richiamare un semplice concetto comune che potrebbe non essere affatto una classe. Ad esempio, non scrivo un sacco di jQuery, ma scrivo abbastanza dove mi stanco di cercare la sintassi corretta per $(document).load ... o è

$(document).ready()

o ...

$(document).read(function(){});...

Questo tipo di codice della piastra della caldaia, di cui ho ben compreso lo scopo, ma manca dell'esperienza e dell'uso regolare della lingua per ricordare la sintassi è il mio problema.

Ho visto alcuni sviluppatori scrivere un blog per ricordare semplicemente l'idea. Il mio approccio abituale è ...

Google "document load"
GOogle "document load jQuery"
...find some snippet
Google "Document Ready jquery"...done

E questo di solito è andato bene. Ma, ho anche notato che su SO, alcuni dei principali rispondenti, ad esempio Jon Skeet, sembrano tirare le risposte della piastra della caldaia molto rapidamente ... così rapidamente mi chiedo se hanno costruito una sorta di materiale di riferimento per cercare e schiaffeggiare velocemente insieme questo codice sul forum, frammentario o completo.

Vorrei usare lo stesso concetto (se esiste ...) per archiviare i miei frammenti "document.ready" in modo che io possa usarli per la mia codifica.

Quindi esiste una memorizzazione e una ricerca efficaci?
Qual è il modo migliore per archiviare e organizzare questi snippet utili, ma comuni?

Bonus ... è ancora più interessante notare come il mio approccio al codice non si presti bene alle interviste con i white board (dove non abbiamo google, ma ci si aspetta che scrivano il codice). Come gestisci questo problema quando affronti le lingue "meno usate" del tuo vocabolario?

    
posta P.Brian.Mackey 05.05.2011 - 19:52
fonte

3 risposte

5

Ho utilizzato TiddlyWiki per un po 'ora per organizzare le note casuali. È portatile, autonomo e simile al blog.

an open-source single page application wiki. A single HTML file contains CSS, JavaScript, and the content. The content is divided into a series of components, or Tiddlers. A user is encouraged to read a TiddlyWiki by following links rather than sequentially scrolling down the page...

http://upload.wikimedia.org/wikipedia/commons/thumb/9/97/TiddlyWiki_2.1.3_screenshot.png/800px-TiddlyWiki_2.1.3_screenshot.png

    
risposta data 05.05.2011 - 22:03
fonte
2

Personalmente, uso questa tecnologia newfangled chiamata bookmarks. Ho una cartella sulla barra dei miei segnalibri chiamata programmazione e le cartelle all'interno di quella per lingua o framework.

Per quanto riguarda le interviste alla lavagna, il segreto è che gli intervistatori conoscono già le risposte ai problemi che pongono, quindi gli dici la tua intenzione in pseudocodice e chiedi loro della sintassi. "So che c'è una funzione jQuery che viene chiamata una volta che tutto è pronto, ma devo scriverlo così raramente che di solito devo sintonizzare su Google la sintassi. Cerca di ricordarmi la sintassi, o ottieni l'immagine da ciò che ho scritto Qui?"

In effetti, quando intervisto qualcuno cerco intenzionalmente di spingere i candidati a quel punto, perché la loro reazione a raggiungere i limiti del loro richiamo è molto più istruttiva della loro reazione a un test più facile. Dopotutto, tutto il nostro lavoro consiste nel creare cose che nessun altro ha mai fatto prima, incluso noi stessi.

    
risposta data 05.05.2011 - 22:48
fonte
1

Qualunque cosa sia ricercabile. Io uso Evernote con un taccuino / cartella per lingue diverse. Non importa se sono al lavoro, usando un laptop, uno smartphone o un computer di casa, l'informazione è proprio lì in un formato organizzato e meglio ancora ricercabile.

Sono passato a ricevere libri elettronici per la programmazione. Posso leggerli in più posizioni e tenerli come riferimento senza trascinare libri spessi (cosa che non faccio mai e usare solo per usare Google.)

    
risposta data 05.05.2011 - 20:12
fonte

Leggi altre domande sui tag