stringtranslate.com

Navegador de clases

Captura de pantalla de Gedit con extensiones Python, LaTeX y Class Browser, mostrando la extensión lorem ipsum de Inkscape.

Un navegador de clases es una característica de un entorno de desarrollo integrado (IDE) que permite al programador explorar, navegar o visualizar la estructura del código de programación orientado a objetos .

Historia

La mayoría de los navegadores de clases modernos deben su origen a Smalltalk , uno de los primeros lenguajes y entornos de desarrollo orientados a objetos. El navegador típico de "cinco paneles" de Smalltalk es una serie de paneles de selección contiguos horizontalmente ubicados sobre un panel de edición; los paneles de selección permiten al usuario especificar primero una categoría y luego una clase , y luego refinar la selección para indicar una clase o método de instancia específico cuya implementación se presenta en el panel de edición para inspección o modificación.

La mayoría de los lenguajes orientados a objetos posteriores se diferenciaban de Smalltalk en que se compilaban y ejecutaban en un entorno de ejecución discreto , en lugar de estar integrados dinámicamente en un sistema monolítico como los primeros entornos de Smalltalk. No obstante, el concepto de un navegador gráfico o de tipo tabla para navegar por una jerarquía de clases se popularizó.

Con la popularidad de C++ a partir de finales de los años 1980, los IDE modernos añadieron exploradores de clases, primero simplemente para navegar por las jerarquías de clases y luego para ayudar en la creación de nuevas clases. Con la introducción de Java a mediados de los años 1990, los exploradores de clases se convirtieron en una parte esperada de cualquier entorno de desarrollo gráfico.

En los IDE modernos

Todos los entornos de desarrollo principales proporcionan algún tipo de navegador de clases, incluido

Los navegadores de clases modernos se dividen en tres categorías generales: los navegadores de columnas , los navegadores de esquema y los navegadores de diagramas .

Navegadores en columnas

Siguiendo la tradición de Smalltalk, los navegadores en columnas muestran la jerarquía de clases de izquierda a derecha en una serie de columnas. A menudo, la columna más a la derecha está reservada para los métodos de instancia o las variables de la clase de hoja.

Esquema de navegadores

Los sistemas con raíces en Microsoft Windows tienden a utilizar un navegador en forma de esquema, a menudo con íconos coloridos (aunque crípticos) para indicar las clases y sus atributos.

Navegadores de diagramas

En los primeros años del siglo XXI, los exploradores de clases comenzaron a transformarse en herramientas de modelado, donde los programadores no solo podían visualizar su jerarquía de clases como un diagrama, sino también agregar clases a su código añadiéndolas al diagrama. La mayoría de estos sistemas de visualización se han basado en alguna forma del Lenguaje de Modelado Unificado (UML).

Refactorización de los navegadores de clases

A medida que los entornos de desarrollo agregan funciones de refactorización , muchas de estas funciones se han implementado en el explorador de clases y en los editores de texto. Un explorador de refactorización puede permitir a un programador mover una variable de instancia de una clase a otra simplemente arrastrándola en la interfaz gráfica de usuario, o combinar o separar clases utilizando gestos del mouse en lugar de una gran cantidad de comandos del editor de texto.

Navegadores lógicos

Un complemento temprano para Digitalk Smalltalk fue un navegador lógico para reglas Prolog encapsuladas como cláusulas dentro de clases. Han aparecido navegadores lógicos más recientes como BackTalk y SOUL (Smalltalk Open Unification Language con LiCor, o biblioteca para razonamiento de código) para Squeak y VisualWorks Smalltalk. Un navegador lógico proporciona una interfaz para Prolog implementado en Smalltalk ( los motores Lisp a menudo se han implementado en Smalltalk). Se puede encontrar un navegador comparable en las reglas de ILog y algunos sistemas de producción OPS. Visual Prolog y XPCE proporcionan una navegación de reglas comparable. En el caso de SOUL, VisualWorks cuenta con un navegador de consultas y un navegador de cláusulas; Backtalk proporciona un navegador de restricciones. Los comentarios de Alan Kay sobre el paralelismo de Smalltalk y Prolog surgieron en el mismo período de tiempo pero con muy poca fertilización cruzada. El interés en XSB prolog para XUL y la migración de AMZI! prolog al IDE Eclipse son caminos actuales en la evolución del navegador lógico. Las reglas encapsuladas en clases se pueden encontrar en Logtalk y en varias variantes de OOP Prolog como LPA Prolog, Visual Prolog y AMZI!, así como en el SICStus convencional .

Versiones basadas en la web

Una variante del marco web Seaside en Smalltalk permite que se abra un explorador de clases en tiempo de ejecución en el navegador web en ejecución: una edición de un método tiene un efecto inmediato en la aplicación web en ejecución. En el caso de Vistascript (Vista Smalltalk) para Microsoft IE7 , un clic derecho en el fondo abre un ClassHierarchyBrowser. Esto es algo así como editar prototipos de JavaScript en un navegador web o clases Ruby , Groovy o Jython en un IDE que se ejecuta en una JVM .

Véase también