Klasse nettleser - Class browser

Image
Skjermbilde av Gedit med Python, LaTeX og Class Browser-utvidelser, som viser Inkscapes lorem ipsum-utvidelse.

En klasse nettleser er en funksjon i et integrert utviklingsmiljø (IDE) som lar programmereren bla gjennom, navigere eller visualisere strukturen til objektorientert programmeringskode .

Historie

De fleste moderne klasse nettlesere skylder sitt opphav til Smalltalk , et av de tidligste objektorienterte språkene og utviklingsmiljøene. Den typiske "fem-ruten" -leseren i Smalltalk er en serie horisontalt angrensende ruter plassert over en redigeringsrute, valgruten gjør det mulig for brukeren å spesifisere først en kategori og deretter en klasse , og videre til å avgrense valget for å indikere en spesifikk klasse- eller forekomstmetode hvis implementering blir presentert i redigeringsruten for inspeksjon eller endring.

De fleste etterfølgende objektorienterte språk skilte seg fra Smalltalk ved at de ble kompilert og utført i et diskret runtime-miljø , snarere ved å være dynamisk integrert i et monolitisk system som de tidlige Smalltalk-miljøene. Likevel konseptet med en tabell-lignende eller grafisk nettleser for å navigere i et klasseshierarki fanget på.

Med populariteten til C ++ som startet på slutten av 1980-tallet, la moderne IDE-er til nettlesere, først for å ganske enkelt navigere i klassehierarkier, og senere for å hjelpe til med å opprette nye klasser. Med introduksjonen av Java på midten av 1990-tallet ble lesere en forventet del av ethvert grafisk utviklingsmiljø.

I moderne IDE-er

Alle store utviklingsmiljøer leverer en eller annen måte nettlesere i klassen, inkludert

Moderne nettlesere faller inn i tre generelle kategorier: de søylige nettleserne, omrisset nettlesere og diagram nettlesere.

Columnar nettlesere

Ved å fortsette Smalltalk-tradisjonen, viser søylens nettlesere klasseshierarkiet fra venstre til høyre i en serie kolonner. Ofte er den høyre kolonnen forbeholdt forekomstmetodene eller -variablene i bladklassen.

Skissere nettlesere

Systemer med røtter i Microsoft Windows har en tendens til å bruke en disposisjonsleser, ofte med fargerike (hvis kryptiske) ikoner for å betegne klasser og deres attributter.

Diagram nettlesere

I de første årene av det 21. århundre begynte leserne å omforme seg til modelleringsverktøy , der programmerere ikke bare kunne visualisere klassehierarkiet som et diagram, men også legge klasser til koden ved å legge dem til diagrammet. De fleste av disse visualiseringssystemene har vært basert på en form for Unified Modelling Language (UML).

Refactoring klasse nettlesere

Ettersom utviklingsmiljøer legger til refactoring- funksjoner, har mange av disse funksjonene blitt implementert i klassens nettleser så vel som i tekstredigerere. En refactoring-nettleser kan tillate en programmerer å flytte en forekomstvariabel fra en klasse til en annen bare ved å dra den i det grafiske brukergrensesnittet, eller å kombinere eller skille klasser ved å bruke musebevegelser i stedet for et stort antall tekstredigererkommandoer.

Logiske nettlesere

Et tidlig tillegg for Digitalk Smalltalk var en logisk nettleser for Prolog- regler innkapslet som klausuler i klasser. Nyere logiske nettlesere har dukket opp som BackTalk og SOUL (Smalltalk Open Unification Language with LiCor, eller bibliotek for kodebegrunnelse) for Squeak og VisualWorks Smalltalk. En logisk nettleser gir et grensesnitt til Prolog implementert i Smalltalk ( Lisp- motorer har ofte blitt implementert i Smalltalk). En sammenlignbar nettleser finnes i ILog-regler og noen OPS-produksjonssystemer. Visual Prolog og XPCE gir sammenlignbar regelvisning . Når det gjelder SOUL, er VisualWorks utstyrt med både en spørringsleser og en klausulær nettleser; Backtalk tilbyr en begrensning nettleser. Kommentarene fra Alan Kay om parallellen til Smalltalk og Prolog dukket opp i samme tidsramme, men med veldig liten kryssbefruktning. Interessen for XSB prolog for XUL og migrasjonen av AMZI! prolog til Eclipse IDE er aktuelle veier i logikkens nettleserutvikling. Regler innkapslet i klasser finner du i Logtalk og flere OOP Prolog-varianter som LPA Prolog , Visual Prolog og AMZI! så vel som mainstream SICStus .

Nettbaserte versjoner

En variant av Seaside nettramme i Smalltalk gjør at en klassebrowser kan åpnes under kjøring i den løpende nettleseren: en redigering til en metode får deretter øyeblikkelig virkning i den kjørende webprogrammet. Når det gjelder Vistascript (Vista Smalltalk) for Microsoft IE7 , åpnes et ClassHierarchyBrowser ved å høyreklikke på bakgrunnen. Dette er noe som å redigere JavaScript- prototyper i en nettleser eller Ruby , Groovy eller Jython klasser i en IDE som kjører i en JVM .

Se også