Przeglądarka klas

Zrzut ekranu Gedit z rozszerzeniami Python, LaTeX i Class Browser, wyświetlający rozszerzenie lorem ipsum Inkscape.

Przeglądarka klas to funkcja zintegrowanego środowiska programistycznego (IDE), która umożliwia programiście przeglądanie, nawigację lub wizualizację struktury kodu programowania obiektowego .

Historia

Większość nowoczesnych przeglądarek klasowych zawdzięcza swoje pochodzenie Smalltalk , jednemu z najwcześniejszych zorientowanych obiektowo języków i środowisk programistycznych. Typowa „pięciopanelowa” przeglądarka Smalltalk to seria poziomo stykających się paneli wyboru umieszczonych nad panelem edycji, panele wyboru pozwalają użytkownikowi najpierw określić kategorię, a następnie klasę, a następnie zawęzić wybór, aby wskazać konkretny metoda klasy lub instancji, której implementacja jest prezentowana w okienku edycji do wglądu lub modyfikacji.

Większość kolejnych języków zorientowanych obiektowo różniła się od Smalltalk tym, że były kompilowane i wykonywane w dyskretnym środowisku wykonawczym , zamiast być dynamicznie integrowane z monolitycznym systemem, takim jak wczesne środowiska Smalltalk. Niemniej jednak koncepcja przeglądarki tabelarycznej lub graficznej do nawigacji w hierarchii klas przyjęła się.

Wraz z popularnością C++ , która rozpoczęła się pod koniec lat 80., nowoczesne IDE dodały przeglądarki klas, początkowo w celu prostego poruszania się po hierarchiach klas, a później, aby pomóc w tworzeniu nowych klas. Wraz z wprowadzeniem języka Java w połowie lat 90. przeglądarki klasowe stały się oczekiwaną częścią każdego graficznego środowiska programistycznego.

W nowoczesnych IDE

Wszystkie główne środowiska programistyczne dostarczają w jakiś sposób przeglądarki klas, w tym

Nowoczesne przeglądarki klasy dzielą się na trzy ogólne kategorie: przeglądarki kolumnowe , przeglądarki konturów i przeglądarki diagramów .

Przeglądarki kolumnowe

Kontynuując tradycję Smalltalk, przeglądarki kolumnowe wyświetlają hierarchię klas od lewej do prawej w szeregu kolumn. Często skrajna prawa kolumna jest zarezerwowana dla metod instancji lub zmiennych klasy liścia.

Zarys przeglądarek

Systemy z korzeniami w systemie Microsoft Windows zwykle używają przeglądarki w formie konspektu, często z kolorowymi (choć tajemniczymi) ikonami oznaczającymi klasy i ich atrybuty.

Przeglądarki diagramów

We wczesnych latach XXI wieku przeglądarki klas zaczęły przekształcać się w narzędzia do modelowania, w których programiści mogli nie tylko wizualizować swoją hierarchię klas jako diagram, ale także dodawać klasy do swojego kodu, dodając je do diagramu. Większość z tych systemów wizualizacji została oparta na jakiejś formie Unified Modeling Language (UML).

Przeglądarki klasy refaktoryzacji

Ponieważ środowiska programistyczne dodają funkcje refaktoryzacji , wiele z tych funkcji zostało zaimplementowanych w przeglądarce klas, a także w edytorach tekstu. Przeglądarka refaktoryzująca może pozwolić programiście przenieść zmienną instancji z jednej klasy do drugiej, po prostu przeciągając ją w graficznym interfejsie użytkownika lub łączyć lub rozdzielać klasy za pomocą gestów myszy, a nie dużej liczby poleceń edytora tekstu.

Przeglądarki logiczne

Wczesnym dodatkiem do Digitalk Smalltalk była przeglądarka logiczna dla reguł Prologu zawartych w klauzulach w klasach. Nowsze przeglądarki logiki pojawiły się jako BackTalk i SOUL (Smalltalk Open Unification Language with LiCor lub biblioteka do rozumowania kodu) dla Squeak i VisualWorks Smalltalk. Przeglądarka logiczna zapewnia interfejs do Prologu zaimplementowanego w Smalltalk ( Lisp były często implementowane w Smalltalk). Porównywalną przeglądarkę można znaleźć w regułach ILog i niektórych systemach produkcyjnych OPS. Visual Prolog i XPCE zapewniają porównywalne przeglądanie reguł. W przypadku SOUL, VisualWorks jest wyposażony zarówno w przeglądarkę zapytań, jak i przeglądarkę klauzul; Backtalk zapewnia przeglądarkę ograniczeń. Komentarze Alana Kaya na temat podobieństw Smalltalk i Prologu pojawiły się w tym samym przedziale czasowym, ale z bardzo małą wzajemną inspiracją. Zainteresowanie prologiem XSB dla XUL i migracją AMZI! prolog do Eclipse IDE to aktualne ścieżki ewolucji przeglądarki logicznej. Reguły zamknięte w klasach można znaleźć w Logtalk i kilku wariantach OOP Prolog, takich jak LPA Prolog , Visual Prolog i AMZI! jak również głównego nurtu SICStus .

Wersje internetowe

Jeden wariant platformy internetowej Seaside w Smalltalk pozwala na otwieranie przeglądarki klas w czasie wykonywania w uruchomionej przeglądarce internetowej: edycja metody ma natychmiastowy efekt w uruchomionej aplikacji internetowej. W przypadku Vistascript (Vista Smalltalk) dla Microsoft IE7 kliknięcie prawym przyciskiem myszy w tle otwiera ClassHierarchyBrowser. Przypomina to trochę edytowanie JavaScript w przeglądarce internetowej lub klas Ruby , Groovy lub Jython w IDE działającym w JVM .

Zobacz też