Navegador de classe

Captura de tela do Gedit com extensões Python, LaTeX e Class Browser, exibindo a extensão lorem ipsum do Inkscape.

Um navegador de classe é um recurso de um ambiente de desenvolvimento integrado (IDE) que permite ao programador navegar, navegar ou visualizar a estrutura do código de programação orientado a objetos .

História

A maioria dos navegadores de classe modernos deve sua origem ao Smalltalk , uma das primeiras linguagens orientadas a objetos e ambientes de desenvolvimento. O típico navegador de "cinco painéis" do Smalltalk é uma série de painéis de seleção adjacentes horizontalmente posicionados acima de um painel de edição. Os painéis de seleção permitem ao usuário especificar primeiro uma categoria e depois uma classe , e ainda refinar a seleção para indicar um específico método de classe ou instância cuja implementação é apresentada no painel de edição para inspeção ou modificação.

A maioria das linguagens orientadas a objetos diferiram do Smalltalk porque foram compiladas e executadas em um ambiente de tempo de execução discreto , em vez de serem integradas dinamicamente em um sistema monolítico como os primeiros ambientes do Smalltalk. No entanto, o conceito de um navegador gráfico ou semelhante a uma tabela para navegar em uma hierarquia de classes pegou.

Com a popularidade do C++ começando no final da década de 1980, os IDEs modernos adicionaram navegadores de classes, inicialmente para simplesmente navegar nas hierarquias de classes e, posteriormente, para auxiliar na criação de novas classes. Com a introdução do Java em meados da década de 1990, os navegadores de classe tornaram-se uma parte esperada de qualquer ambiente de desenvolvimento gráfico.

Em IDEs modernos

Todos os principais ambientes de desenvolvimento fornecem algum tipo de navegador de classe, incluindo

Os navegadores de classes modernos se enquadram em três categorias gerais: os navegadores colunares , os navegadores de contorno e os navegadores de diagramas .

Navegadores colunares

Continuando a tradição do Smalltalk, os navegadores colunares exibem a hierarquia de classes da esquerda para a direita em uma série de colunas. Freqüentemente, a coluna mais à direita é reservada para os métodos de instância ou variáveis ​​da classe folha.

Navegadores de estrutura de tópicos

Sistemas com raízes no Microsoft Windows tendem a usar um navegador em formato de contorno, geralmente com ícones coloridos (embora enigmáticos) para denotar classes e seus atributos.

Navegadores de diagrama

Nos primeiros anos do século 21, os navegadores de classes começaram a se transformar em ferramentas de modelagem, onde os programadores podiam não apenas visualizar sua hierarquia de classes como um diagrama, mas também adicionar classes ao seu código, adicionando-as ao diagrama. A maioria desses sistemas de visualização foi baseada em alguma forma de Unified Modeling Language (UML).

Refatorando navegadores de classe

À medida que os ambientes de desenvolvimento adicionam recursos de refatoração , muitos desses recursos foram implementados no navegador de classes, bem como em editores de texto. Um navegador de refatoração pode permitir que um programador mova uma variável de instância de uma classe para outra simplesmente arrastando-a na interface gráfica do usuário, ou combine ou separe classes usando gestos do mouse em vez de um grande número de comandos do editor de texto.

Navegadores lógicos

Um dos primeiros complementos do Digitalk Smalltalk era um navegador lógico para regras do Prolog encapsuladas como cláusulas dentro de classes. Navegadores lógicos mais recentes apareceram como BackTalk e SOUL (Smalltalk Open Unification Language with LiCor, ou biblioteca para raciocínio de código) para Squeak e VisualWorks Smalltalk. Um navegador lógico fornece uma interface para o Prolog implementado em Smalltalk ( mecanismos Lisp têm sido frequentemente implementados em Smalltalk). Um navegador comparável pode ser encontrado nas regras do ILog e em alguns sistemas de produção OPS. Visual Prolog e XPCE fornecem navegação de regras comparáveis. No caso do SOUL, o VisualWorks é fornecido com um navegador de consulta e um navegador de cláusula; Backtalk fornece um navegador de restrições. Os comentários de Alan Kay sobre o paralelo entre Smalltalk e Prolog surgiram no mesmo período, mas com muito pouca fertilização cruzada. O interesse no prólogo XSB para XUL e a migração do AMZI! prolog para o Eclipse IDE são caminhos atuais na evolução do navegador lógico. Regras encapsuladas em classes podem ser encontradas no Logtalk e em diversas variantes do OOP Prolog, como LPA Prolog, Visual Prolog e AMZI! bem como o SICStus convencional .

Versões baseadas na web

Uma variante da estrutura web Seaside em Smalltalk permite que um navegador de classe seja aberto em tempo de execução no navegador web em execução: uma edição em um método tem efeito imediato no aplicativo web em execução. No caso do Vistascript (Vista Smalltalk) para Microsoft IE7 , clicar com o botão direito no plano de fundo abre um ClassHierarchyBrowser. Isso é mais ou menos como editar protótipos JavaScript em um navegador da Web ou classes Ruby , Groovy ou Jython em um IDE rodando em uma JVM .

Veja também

Obtido em "https://en.wikipedia.org/w/index.php?title=Class_browser&oldid=1206918987"