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?