클래스 브라우저

Class browser
Python, LaTeX 및 Class Browser 확장이 포함된 Gedit의 스크린샷. Inkscape의 lorem ipsum 확장이 표시됨.

클래스 브라우저는 프로그래머가 객체 지향 프로그래밍 코드의 구조를 탐색, 탐색 또는 시각화할 수 있는 통합 개발 환경(IDE)의 특징이다.

역사

대부분의 현대식 브라우저들은 초기 객체 지향 언어와 개발 환경 중 하나인 스몰토크에 기원을 두고 있다.일반적인 스몰토크 "5-페인" 브라우저는 편집 창 위에 위치한 일련의 수평 정렬 선택 창이며, 선택 창은 사용자가 먼저 카테고리를 지정한 다음 클래스를 지정할 수 있도록 하며, 나아가 선택 영역을 세분화하여 편집인에 구현된 특정 클래스 또는 인스턴스(instance-method)를 나타낼 수 있도록 한다.g 검사 또는 수정을 위한 창.

대부분의 후속 객체지향 언어는 초기 스몰토크 환경과 같은 단일체제로 동적으로 통합되기보다는 분리된 런타임 환경에서 컴파일되고 실행된다는 점에서 스몰토크와 차이가 있었다.그럼에도 불구하고, 클래스 계층 구조를 탐색하기 위한 표와 같은 또는 그래픽 브라우저의 개념은 인기를 끌었다.

1980년대 후반부터 C++가 인기를 끌면서, 현대 IDE들은 처음에는 단순히 클래스 계층을 탐색하기 위해 클래스 브라우저를 추가했고, 나중에는 새로운 클래스를 만드는 데 도움을 주었다.1990년대 중반 Java의 도입으로 클래스 브라우저는 그래픽 개발 환경에서 기대되는 부분이 되었다.

현대 IDE에서

모든 주요 개발 환경은 다음과 같은 클래스 브라우저를 제공한다.

모던 클래스 브라우저는 칼럼니스트 브라우저, 아웃라인 브라우저, 다이어그램 브라우저의 세 가지 범주로 나뉜다.

칼럼니스트 브라우저

스몰토크 전통을 이어가는 칼럼니스트 브라우저는 일련의 컬럼에 왼쪽에서 오른쪽으로 클래스 계층을 표시한다.종종 가장 오른쪽 열은 리프 클래스의 인스턴스(instance) 방법이나 변수에 대해 예약된다.

브라우저 개요

Microsoft Windows에 뿌리를 둔 시스템은 종종 클래스와 그 속성을 나타내기 위해 컬러풀한 (암호화인 경우) 아이콘이 있는 아웃라인 양식 브라우저를 사용하는 경향이 있다.

다이어그램 브라우저

21세기 초 클래스 브라우저가 모델링 도구로 변모하기 시작했는데, 여기서 프로그래머들은 그들의 클래스 계층 구조를 다이어그램으로 시각화할 수 있을 뿐만 아니라, 다이어그램에 클래스를 추가함으로써 코드에 클래스를 추가할 수 있었다.이러한 시각화 시스템의 대부분은 UML(Unified Modeling Language)의 어떤 형태에 기초해 왔다.

클래스 브라우저 리팩터링

개발환경이 리팩터링 기능을 추가함에 따라, 이러한 기능들 중 많은 것들이 텍스트 편집기뿐만 아니라 클래스 브라우저에서도 구현되었다.리팩터링 브라우저는 프로그래머가 단순히 그래픽 사용자 인터페이스로 인스턴스 변수를 끌어서 한 클래스에서 다른 클래스로 이동시키거나, 많은 수의 텍스트 편집기 명령보다는 마우스 제스처를 사용하여 클래스를 결합하거나 분리할 수 있게 할 수 있다.

로직 브라우저

Digitalk Smalltalk의 초기 추가 기능은 수업 내 절로서 캡슐화된 Prolog 규칙의 로직 브라우저였다.보다 최근의 로직 브라우저는 스퀵과 비주얼웍스 스몰토크를 위한 백토크SOUL(LiCor가 있는 스몰토크 오픈 통일 언어, 또는 코드 추론을 위한 라이브러리)으로 등장하였다.Logic Browser는 Smalltalk에서 구현된 Prolog에 인터페이스를 제공한다(Lisp 엔진은 Smalltalk에서 구현된 경우가 많다).비교 가능한 브라우저는 ILOG 규칙과 일부 OPS 생산 시스템에서 찾을 수 있다.Visual PrologXPCE는 유사한 규칙 탐색 기능을 제공한다.SOL의 경우 VisualWorks는 쿼리 브라우저와 절 브라우저를 모두 제공하고, Backtalk는 제약조건 브라우저를 제공한다.스몰토크와 프롤로그의 평행선상에 있는 앨런 케이의 논평은 같은 시간대에 나왔지만 교차숙련은 거의 없었다.XUL을 위한 XSB prolog와 Eclipse IDE로의 AMZI! prolog의 마이그레이션에 대한 관심은 로직 브라우저 진화의 현재 경로다.클래스에 캡슐화된 규칙은 메인스트림 SICStus뿐아니라 LPA Prolog, Visual Prolog, AMZI 등 여러 OOP Prolog 변종에서 찾을 수 있다.

웹 기반 버전

스몰토크의 씨사이드 웹 프레임워크의 한 변종은 실행 중인 웹 브라우저에서 런타임에 클래스 브라우저를 열 수 있게 한다. 즉, 메서드를 편집한 다음 실행 중인 웹 애플리케이션에서 즉시 효과를 발휘한다.Microsoft IE7용 Vistascript(Vista Smalltalk)의 경우 배경을 마우스 오른쪽 버튼으로 클릭하면 ClassHierarchyBrowser가 열린다.이는 웹 브라우저에서 JavaScript 프로토타입을 편집하거나 JVM에서 실행되는 IDE에서 Ruby, Groovy 또는 Jython 클래스를 편집하는 것과 같다.

참고 항목