Ver Mensaje Individual
  #4  
Antiguo 23-02-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por newtron Ver Mensaje
Vaya, una pena, pero.... ¿de qué iba ese sitio? :D
Imagina que estás programando algo en Delphi y de pronto, para una necesidad que se te presenta en el código, recuerdas vagamente haber visto en algún lugar algo como:

XXX.SetYYY(Self)

Siendo "XXX" y "YYY" las partes que no recuerdas, sólo teniendo presente que usando un objeto "XXX" se llamaba a su método "SetAlgo", dándole como parámetro el objeto Self. Pues sencillo: entras a la página del buscador Google Code Search y escribes la expresión regular:
Cita:
[a-z]\.Set[a-z]+\(Self\) lang:pascal
[a-z] = Cualquier carácter que sea una letra del idioma inglés
\. = Literalmente un punto
[a-z]+ = Una más letras consecutivas del idioma inglés
\( = Literalmente un paréntesis de apertura
\) = Literalmente un paréntesis de cierre

Y te aparecen todas las muestras de código Delphi / Pascal ("lang:pascal") que Google ha recopilado de muchos sitios Web. Archivos de código fuente enteros, publicados por miles de personas en diversos lugares de la Red. Ejemplos muy útiles de cómo otros programadores en el mundo hicieron algo parecido a lo tuyo. Siendo a veces los resultados escasos, porque solamente un colega de Ucrania ha tenido al misma idea que tú (o quizá es el único que ha tenido la gracia de publicarlo).

Claro, esto ya no es posible debido al extraño y desafortunado cierre de esa estupenda herramienta de Google, la que más utilizaba yo después del buscador general.

Para darte una idea, puedes hacer la misma búsqueda con la opción "Find in Files" del menú Search de Delphi (que también uso con regularidad), esta vez sin "lang:pascal" e indicándole el directorio de los fuentes de la VCL. Te arrojará algo parecido a esto:

Cita:
C:\Archivos de programa\Borland\Delphi7\Source\VCL\ActnMenus.pas(2651): ActionBarDesigner.SetSelection(Self);
C:\Archivos de programa\Borland\Delphi7\Source\VCL\Controls.pas(6314): if (Form <> nil) and not Form.SetFocusedControl(Self) then Exit;
C:\Archivos de programa\Borland\Delphi7\Source\VCL\Grids.pas(3869): FInplaceEdit.SetGrid(Self);
C:\Archivos de programa\Borland\Delphi7\Source\VCL\OleCtnrs.pas(1179): View.SetInPlaceSite(Self);
C:\Archivos de programa\Borland\Delphi7\Source\VCL\OleCtrls.pas(599): OleCheck(FOleObject.SetClientSite(Self));
C:\Archivos de programa\Borland\Delphi7\Source\VCL\OleCtrls.pas(661): OleCheck(FOleObject.SetClientSite(Self));
C:\Archivos de programa\Borland\Delphi7\Source\VCL\OleCtrls.pas(1953): OleCheck(FOleObject.SetClientSite(Self));
C:\Archivos de programa\Borland\Delphi7\Source\VCL\Outline.pas(897): StartNode := Outline.SetGoodIndex(Self);
C:\Archivos de programa\Borland\Delphi7\Source\VCL\Outline.pas(947): Outline.SetGoodIndex(Self);
C:\Archivos de programa\Borland\Delphi7\Source\VCL\SqlExpr.pas(2229): DataSet.SetConnection(Self);
C:\Archivos de programa\Borland\Delphi7\Source\VCL\StdCtrls.pas(2638): if (Form <> nil) and not Form.SetFocusedControl(Self) then Exit;
Das doble clic en la línea que te interese, y Delphi te abrirá el archivo en cuestión en esa precisa sección de su código, para poder apreciar todo el contexto de sentencias involucradas.

Para los creadores de bibliotecas de programación las herramientas como Google Code Search son casi indispensables, porque no sólo permiten comparar sus construcciones de código contra las de otros, sino también aprender de estilos y tendencias que van emergiendo en la programación de distintos lenguajes. En muchas ocasiones utilicé este buscador especial para estar seguro de cómo nombrar a alguna clase o función (¿"TMailSender" o mejor "TMailDispatcher"?). Supe de su cierre el día que ocurrió, por cierto, curiosamente por las mismas fechas en que fue suprimido MegaUpload.

Creo que por lo pronto tendremos que involucionar hacia Koders.

Me uno a tu pena, Román.

Un abrazo.

Al González.

Última edición por Al González fecha: 23-02-2012 a las 16:03:02.
Responder Con Cita