KR101276933B1 - 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법 - Google Patents

선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법 Download PDF

Info

Publication number
KR101276933B1
KR101276933B1 KR1020060005404A KR20060005404A KR101276933B1 KR 101276933 B1 KR101276933 B1 KR 101276933B1 KR 1020060005404 A KR1020060005404 A KR 1020060005404A KR 20060005404 A KR20060005404 A KR 20060005404A KR 101276933 B1 KR101276933 B1 KR 101276933B1
Authority
KR
South Korea
Prior art keywords
conditional block
version
conditional
version information
displaying
Prior art date
Application number
KR1020060005404A
Other languages
English (en)
Other versions
KR20070076246A (ko
Inventor
정순용
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060005404A priority Critical patent/KR101276933B1/ko
Publication of KR20070076246A publication Critical patent/KR20070076246A/ko
Application granted granted Critical
Publication of KR101276933B1 publication Critical patent/KR101276933B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부 블록 소스 코드 표시 방법을 제공한다. 이를 위해 본 발명에서는, 사용자에게 특정 버전을 구현하고 있는 조건부 블록의 소스 코드를 선택할 수 있도록 하는 버전 정보 입력창을 제공하는 단계 및, 사용자가 특정 버전 정보를 입력하면 현재 입력된 소스 코드의 조건부 블록들로부터 상기 입력된 버전 정보에 대응하는 조건부 블록을 검색하는 단계를 포함한다. 그리고 상기 사용자로부터 입력된 버전 정보에 대응되는 버전의 조건부 블록이 검색되는 경우 기 설정된 조건부 블록 표시 설정에 따라 상기 검색된 조건부 블록을 표시하여 디스플레이하는 단계를 포함한다. 따라서 본 발명은 사용자가 선택한 버전에 따른 조건부 블록의 소스 코드만을 디스플레이함으로써 사용자가 원하는 소스 코드들만을 볼 수 있도록 하는 효과가 있다.
조건부 블록, 소프트웨어 개발 환경,

Description

선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부 블록 소스 코드 표시 방법{CONDITIONAL BLOCK SOURCE CODE DISPLAY METHOD FOR DISPLAYING SELECTED VERSION'S CONDITIONAL BLOCK SOURCE CODE}
도 1은 통상적인 소스 코드의 입력 화면의 예를 보이고 있는 예시도,
도 2는 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 입력된 소스 코드 중 사용자가 선택한 특정 버전에 대한 조건부 블록 소스 코드 부분만을 디스플레이하는 과정의 흐름도,
도 3은 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자가 특정 버전을 선택할 수 있도록 하는 버전 정보 입력창을 디스플레이하는 과정의 흐름도,
도 4는 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 검색된 조건부 블록의 소스 코드들을 기 설정된 표시 방식에 따라 표시하는 과정의 흐름도,
도 5는 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자에 의해 선택된 버전의 조건부 블록 소스 코드들이 디스플레이된 예를 보이는 제1 예시도,
도 6은 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자에 의해 선택된 버전의 조건부 블록 소스 코드들이 디스플레이된 예를 보이는 제2 예 시도,
도 7은 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자에 의해 선택된 버전의 조건부 블록 소스 코드들이 디스플레이된 예를 보이는 제3 예시도.
본 발명은 소프트웨어 개발 환경, 즉 소프트웨어의 소스 코드를 개발하기 위한 통합개발툴에서 사용되어 질 수 있는 소프트웨어의 소스 코딩 방법에 관한 것으로, 특히 사용자가 선택한 특정 버전에 해당되는 조건부 컴파일 블록(이하 조건부 블록이라 칭한다)의 소스 코드를 표시하여 디스플레이하는 방법에 관한 것이다.
일반적으로 휴대폰에 저장되는 소프트웨어 개발은 동일한 모델일 지라도 사업자가 달라지면 요구사항이 달라진다. 이에 따라 그러한 요구 사항에 맞춰서 휴대폰에 저장되는 소프트웨어 역시 변경되어야 하고, 이러한 요구 사항에 따라 소프트웨어의 코딩(coding)이 이뤄져야 한다. 뿐만 아니라 시간이 지나면서 소프트웨어 및 하드웨어의 버전이 업그레이드 되면, 새로운 기능 수행을 위한 코드들이 기존 소프트웨어의 소스 코드에 추가된다. 따라서 사업자나 버전 등에 따른 차이에 따라 코드를 완전히 별개의 소스로 관리할 경우, 버그(bug)의 수정이나 알고리즘의 개선이 각각의 버전별로 이루어져야 한다. 그런데 이러한 경우에는 생산성을 상당히 떨 어뜨리게 되므로, 그만큼 소스 코드의 관리가 어렵게 된다. 따라서 일반적으로 전처리 수준에서 조건부 컴파일 블록을 이용하여 버전별 다른 차이를 구현하도록 한다.
도 1은 통상적인 소스 코드의 입력 화면의 예를 보이고 있는 예를 보이고 있는 도면이다.
도 1을 참조하여 살펴보면, 도 1에서는 상기한 바와 같이, 소스 코딩 시 전처리 수준에서 각각의 버전별로 버전별 차이가 구현될 수 있도록, 각 버전별로 매크로(Macro)식을 이용하여 조건부 컴파일 블록을 구현하고 있는 예를 보이고 있다. 따라서 이처럼 전처리 수준에서 각각의 버전별 차이를 미리 정의해 둠에 따라, 소스 코드 개발 시에 각각의 버전마다 따로 소스 코드를 구현하지 않아도 상기 미리 정의된 버전에 따라 소프트웨어가 각 버전에 따라 동작하도록 구현할 수 있다.
그런데 이처럼 다양한 버전이 전처리 수준에서 기록되는 경우 이러한 코드를 기존 개발 환경(text editor나 visual studio와 같은 통합개발툴)에서 보게 될 경우 소프트웨어 개발자가 소스 코드를 분석하기가 매우 어려워진다는 문제점이 있다. 즉, 상기한 도 1에서 보이고 있는 바와 같이 소스 코드에 다양한 버전 별 차이가 구현되어 있을 경우 이들을 정의하기 위한 “#if” 또는 “#ifdef”와 같은 전처리 매크로식이 난무하게 된다. 이에 따라 소프트웨어 개발자의 경우 이러한 매크로식들의 난무로 인해 소스 코드의 흐름을 파악하기 힘들게 되고, 상기한 매크로식들의 추가로 인해 소스 코드의 길이가 길어지기 때문에 개발자가 원하는 소스 코드를 찾아서 확인하는 것도 어렵다는 문제점이 있다.
그러므로 본 발명의 목적은, 소프트웨어 개발자에게, 원하는 버전의 조건부 블록의 소스 코드를 쉽게 확인할 수 있는 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 실시 예에 따른 방법은, 사용자가 상기 버전들 중 어느 하나에 대응되는 버전 정보를 입력할 수 있도록 하는 버전 정보 입력창을 디스플레이하는 단계와, 상기 사용자가 특정 버전 정보를 입력하였는지 여부를 확인하는 입력 여부 확인 단계와, 상기 사용자가 특정 버전 정보를 입력하는 경우, 현재 입력된 버전 정보에 대응되는 매크로(Macro)식을 포함하는 조건부 블록을 검색하는 조건부 블록 검색 단계와, 상기 검색된 조건부 블록을 기 설정된 표시 방식에 따라 표시하여 디스플레이하는 디스플레이 단계를 포함한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의하여야 한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
먼저 본 발명의 완전한 이해를 돕기 위해, 본 발명의 기본 원리를 설명하면, 본 발명에서는, 사용자에게 특정 버전을 구현하고 있는 조건부 블록의 소스 코드를 선택할 수 있도록 하는 버전 정보 입력창을 제공하고, 사용자가 특정 버전 정보를 입력하면 현재 입력된 소스 코드의 조건부 블록들로부터 상기 입력된 버전 정보에 대응하는 조건부 블록을 검색한다. 그리고 상기 사용자로부터 입력된 버전 정보에 대응되는 버전의 조건부 블록이 검색되는 경우 기 설정된 조건부 블록 표시 설정에 따라 상기 검색된 조건부 블록을 표시하여 디스플레이한다. 따라서 본 발명은 사용자가 선택한 버전에 따른 조건부 블록의 소스 코드만을 디스플레이함으로써 사용자가 원하는 소스 코드들만을 볼 수 있도록 하는 효과가 있다.
도 2는 이러한 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 입력된 소스 코드 중 사용자가 선택한 특정 버전에 대한 조건부 블록 소스 코드 부분만을 디스플레이하는 과정을 보이고 있는 도면이다.
앞에서 상술한 바와 같이 본 발명은 통합개발툴에서 사용되어 질 수 있는 방법임을 밝힌 바 있다. 여기서 통합개발툴이라는 것은 텍스트 에디터(Text editor) 또는 비주얼 스튜디오(Visual studio)와 같은 소프트웨어 개발 프로그램을 말하는 것이다. 그리고 이러한 소프트웨어 개발 프로그램은 컴퓨터와 같은 통합개발툴 구동 장치에 의해 구동될 수 있다. 따라서 본 발명의 실시 예에 따른 조건부 블록 표시 방법 역시 상기 컴퓨터와 같은 통합개발툴 구동 장치에 의해 구현될 수 있음은 물론이다. 따라서 이하의 본 발명의 설명에서는 편의상 본 발명의 실시 예에 따른 조건부 블록 표시 방법이 통합개발툴 구동 장치에 의해 구현되는 것을 가정하여 설명하기로 한다.
도 2를 참조하여 살펴보면, 사용자가 통합개발툴에서 소스 코드를 입력하고 특정 버전에 대한 조건부 블록 소스 코드를 검색하기를 원하는 경우, 상기 통합개발툴 구동 장치는 200단계로 진행하여 사용자가 상기 특정 버전의 버전 정보를 입 력할 수 있는 버전 정보 입력창을 디스플레이한다. 여기서 상기 버전 정보 입력창은 사용자가 직접 특정 버전의 버전 정보를 입력할 수 있는 창이 될 수도 있다. 그러나 이와는 달리 상기 버전 정보 입력창은 상기 통합개발툴 구동 장치가, 상기 입력된 소스 코드에 포함된 각 버전에 따른 조건부 블록의 구조를 미리 분석한 후에, 상기 분석된 결과에 따라 상기 소스 코드에 포함된 각 버전에 대한 정보를 목록 형식으로 디스플레이할 수도 있다. 이러한 경우 상기 각 버전에 대한 정보를 목록 형식으로 디스플레이하는 동작에 대해 하기 도 3을 참조하여 자세히 살펴보기로 한다.
또한 상기 버전 정보 입력창에서는 버전별 조건부 블록의 구조에 따라 상위 버전의 조건부 블록에 포함된 하위 버전의 조건부 블록을 검색하고, 하위 버전의 조건부 블록 검색 여부에 따라 하위 버전의 조건부 블록의 디스플레이 여부를 사용자가 설정할 수 있는 메뉴를 포함할 수 도 있다. 즉, 상기 소스 코드의 버전별 조건부 블록 구조가, 크게 A, B, C 라는 버전으로 나뉘어져 있고, 상기 A 버전에 대한 조건부 블록에, 상기 버전 A의 하위 버전, 즉 A-1, A-2 등과 같은 조건부 블록들이 포함되어 있는 경우 사용자는 상기 하위 버전의 조건부 블록에 대한 디스플레이 설정 메뉴를 통해 상기 하위 버전들 중 특정 하위 버전만이 표시되도록 설정할 수도 있다. 이러한 예를 하기 도 6을 참조하여 살펴보기로 한다.
그리고 상기 200단계에서 버전 정보 입력창을 디스플레이한 통합개발툴 구동 장치는 202단계로 진행하여 사용자가 상기 버전 정보 입력창에 특정 버전에 대한 버전 정보를 입력하였는지 여부를 체크한다. 여기서 만약 상기 200단계가 사용자로 부터 특정 버전 정보를 입력받는 창인 경우라면, 상기 202단계는 상기 통합개발툴 구동 장치가 사용자로부터 입력된 버전 정보가 있는지를 체크하는 과정이 된다. 그러나 만약 상기 200단계가 상술한 바와 같이 현재 소스 코드에 포함된 각 버전에 대한 정보를 목록 형식으로 디스플레이한 경우라면 상기 202단계는, 상기 통합개발툴 구동 장치가 상기 디스플레이된 버전 정보들의 목록 중에서 어느 하나의 버전 정보가 선택되었는지를 체크하는 과정이 될 수 있다.
상기 202단계에서 사용자가 특정 버전에 대한 버전 정보를 입력한 경우라면, 상기 통합개발툴 구동 장치는 204단계로 진행하여 현재 입력된 소스 코드 중, 상기 입력된 버전 정보를 포함하는 매크로식이 포함된 조건부 블록이 있는지를 검색한다. 그리고 통합개발툴 구동 장치는 204단계로 진행하여 상기 200단계에서 사용자가 입력한 특정 버전 정보에 하위 조건부 블록 검색 여부가 포함되어 있는지를 체크한다.
그리고 상기 206단계의 판단 결과 상기 입력된 특정 버전 정보에 하위 조건부 블록 검색이 포함되어 있지 않은 경우라면, 통합개발툴 구동 장치는 210단계로 진행하여 현재 검색된 조건부 블록을 기 설정된 조건부 블록 표시 방식에 따라 표시한다. 여기서 상기 기 설정된 조건부 블록의 표시 방식이라는 것은 상기 검색된 조건부 블록을 표시하기 위해 사용자가 기 설정한 표시 방식을 말하는 것으로 다양한 방법이 있을 수 있다.
이러한 표시 방식의 예를 들어보면, folding/unfolding 표시 형태로 상기 검색된 조건부 블록의 소스 코드들을 표시하는 folding/unfolding 표시 방식이 있을 수 있으며, 특정 배경색을 통해 표시하는 컬러링(Colouring) 표시 방식이 있을 수 있다. 여기서 상기 folding/unfolding 표시 방식이라는 것은 상기 검색된 조건부 블록의 소스 코드들을 제외한 다른 버전의 조건부 블록 소스 코드들은 폴더가 닫힌 상태로 표시하고 상기 검색된 조건부 블록의 소스 코드들은 폴더가 펼쳐진 상태로 표시하는 방식을 말한다. 그리고 또한 컬러링 표시 방식이라는 것은, 사용자에 의해 검색된 버전의 조건부 블록의 소스 코드들만을 특정 지정된 배경색으로 표시하는 방식을 말한다. 이처럼 기 설정된 다양한 표시 방식에 따라 사용자에 의해 검색된 조건부 블록의 소스 코드들을 표시하는 동작 과정을 하기 도 4를 참조하여 살펴보기로 한다.
한편 상기 206단계의 판단 결과 상기 사용자로부터 입력된 특정 버전 정보에 하위 버전의 조건부 블록 검색이 포함되어 있는 경우라면 통합개발툴 구동 장치는 208단계로 진행하여, 상기 검색된 매크로식을 포함하는 조건부 블록에서 상기 하위 버전의 조건부 블록 검색 조건에 따른 하위 버전의 조건부 블록을 검색한다. 여기서 상기 하위 버전의 조건부 블록의 검색 여부는 해당 하위 버전에 대한 디스플레이 설정에 따라 결정된다. 즉, 상기 하위 버전에 대한 디스플레이 설정이 상기 하위 버전을 표시하는 것이었다면, 상기 통합개발툴 구동 장치는 하위 버전의 조건부 블록을 검색한다. 그러나 상기 하위 버전에 대한 디스플레이 설정이 상기 하위 버전을 표시하는 것이 아니라면, 상기 통합개발툴 구동 장치는 하위 버전의 조건부 블록을 검색하지 않는다.
그리고 통합개발툴 구동 장치는, 상기 208단계에서 사용자에 의해 선택된 하 위 버전의 조건부 블록이 검색되면 210단계로 진행하여 현재 검색된 조건부 블록들의 소스 코드를 기 설정된 조건부 블록 표시 설정에 따라 표시한다. 따라서 본 발명에서는 적어도 하나 이상의 버전별 차이가 함께 구현되어 있는 소스 코드 중에서 사용자, 즉 소프트웨어 개발자가 원하는 특정 버전에 해당되는 조건부 블록의 소스 코드들만을 다른 조건부 블록의 소스 코드들과 구별되게 표시하여 디스플레이할 수 있다. 이에 따라 사용자는 소스 코드를 더욱 쉽게 분석할 수 있다는 효과가 있다.
도 3은 이러한 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자가 특정 버전을 선택할 수 있도록 하는 버전 정보 입력창을 디스플레이하는 과정을 보이고 있는 도면이다.
상기 200단계에서 상기 통합개발툴 구동 장치가, 상기 입력된 소스 코드에 포함된 각 버전에 따른 조건부 블록의 구조를 미리 분석한 후에, 상기 분석된 결과에 따라 상기 소스 코드에 포함된 각 버전에 대한 정보를 목록 형식으로 상기 버전 정보 입력창에 디스플레이할 수 있음을 밝힌바 있다. 이러한 경우 도 3을 참조하여 살펴보면 사용자가 통합개발툴에서 소스 코드를 입력하고 특정 버전에 대한 조건부 블록 소스 코드를 검색하기를 원하는 경우, 통합개발툴 구동 장치는 300단계로 진행하여 현재 입력된 소스 코드를 분석하여 현재 소스 코드에 포함된 조건부 블록들의 구조를 버전별로 인식한다.
즉, 상기 소스 코드의 버전별 조건부 블록 구조가, 크게 A, B, C 라는 버전으로 나뉘어져 있고, 상기 A 버전에 대한 조건부 블록에, 상기 버전 A의 하위 버전, 즉 A-1, A-2 등과 같은 조건부 블록들이 포함되어 있는 경우라면 상기 통합개 발툴 구동 장치는 상기 A라는 상위 버전에 A-1 및 A-2라는 하위 버전이 포함되어 있는 구조라는 것을 인식한다.
그리고 상기 통합개발툴 구동 장치는 302단계로 진행하여 상기 소스 코드에 포함된 각각의 조건부 블록들의 버전 정보를 추출한다. 여기서 상기 버전 정보들은 각 조건부 블록에 포함된 #if” 또는 “#ifdef”와 같은 매크로식으로부터 추출될 수 있다. 그리고 통합개발툴 구동 장치는 304단계로 진행하여 상기 인식된 조건부 블록의 구조에 따라 상기 302단계에서 추출된 버전 정보들을 이용하여 상기 소스 코드에 포함된 조건부 블록들의 버전 정보들에 대한 목록을 생성한다. 이러한 목록은 상기 300단계에서 인식된 하위 버전의 조건부 블록에 대한 버전 정보들이 포함될 수도 있고, 단지 상위 버전의 조건부 블록에 대한 버전 정보들만이 포함되어 있을 수 있다. 그리고 이는 사용자의 설정에 따라 변경될 수 있음이 물론이다.
그리고 상기 통합개발툴 구동 장치는 306단계로 진행하여 상기 검색된 생성된 조건부 블록들의 버전 정보들에 대한 목록을 포함하는 버전 정보 입력창을 디스플레이한다. 그런데 만약 상기 304단계에서 사용자가 하위 버전에 대한 정보들까지 포함하는 리스트를 생성하도록 설정한 경우라면, 상기 306단계에서는 이 하위 버전의 조건부 블록에 대한 디스플레이 설정 메뉴를 추가하여 제공할 수 있다. 이러한 하위 버전의 조건부 블록에 대한 디스플레이 설정 메뉴는 상기 디스플레이된 목록 중 해당 버전 정보 항목의 좌측 또는 우측에 체크 박스 등을 표시하여 제공될 수 있다. 이러한 경우 만약 사용자가 특정 하위 버전의 조건부 블록에 대응되는 체크 박스에 사용자가 체크를 하면, 통합개발툴 구동 장치는 상기 하위 버전의 조건부 블록을 사용자가 선택한 것으로 인식하고 상기 하위 버전의 조건부 블록을 검색하여 기 설정된 표시 방식에 따라 표시한다.
도 4는 상술한 바와 같이 검색된 조건부 블록의 소스 코드들을 기 설정된 표시 방식에 따라 표시하는 과정을 보이고 있는 도면이다.
도 4를 참조하여 살펴보면, 상기 206단계 또는 208단계를 통해 사용자가 선택한 특정 버전의 조건부 블록이 검색되는 경우, 통합개발툴 구동 장치는 400단계로 진행하여 현재 설정된 조건부 블록의 표시 방식을 체크한다. 여기서 상기 표시 방식의 예로서는 상술한 바와 같이 folding/unfolding 방식 또는 컬러링 표시 방식이 있는 것을 가정하여 설명하기로 한다.
이러한 경우 상기 400단계의 체크 결과, 상기 현재 설정된 표시 방식이 folding/Unfolding 방식일 경우라면, 통합개발툴 구동 장치는 402단계로 진행하여 상기 입력된 소스 코드 중에서 현재 검색된 조건부 블록을 제외한 다른 조건부 블록을 Unfolding 상태로 표시되도록 한다. 이러한 상태로 사용자가 선택한 조건부 블록이 표시되는 것을 본 발명의 제1 실시 예라고 가정하기로 한다. 그리고 이러한 본 발명의 제1 실시 예에 따라 사용자가 선택한 버전의 조건부 블록의 소스 코드들이 디스플레이되는 예를 하기 도 5에 보이기로 한다.
또한 상기 소스 코드가 다수의 하위 버전에 대한 조건부 블록을 포함하는 상위 버전의 조건부 블록을 포함하고 있는 경우, 하위 버전 조건부 블록에 대한 디스플레이 설정 메뉴에 의해 사용자가 상기 하위 버전의 조건부 블록들의 디스플레이 여부를 설정할 수 있음을 앞에서 서술한 바 있다. 이에 따라 본 발명에서는 상위 버전의 조건부 블록 뿐 아니라 상기 상위 버전에 포함된 하위 버전들의 조건부 블록들도 선택적으로 표시할 수 있다. 이러한 경우를 본 발명의 제2 실시 예라고 가정하기로 한다. 그리고 이러한 본 발명의 제2 실시 예에 따라 사용자가 선택한 버전의 조건부 블록의 소스 코드들이 디스플레이되는 예를 하기 도 6에 보이기로 한다.
한편 상기 400단계의 체크 결과, 상기 현재 설정된 표시 방식이 컬러링 표시 방식일 경우라면 통합개발툴 구동 장치는 404단계로 진행하여 현재 검색된 조건부 블록의 소스 코드들만을 상술한 컬러링 표시 방식을 통해 표시할 수 있다. 그런데 이러한 경우 역시 현재 입력된 소스 코드가 다수의 하위 버전에 대한 조건부 블록을 포함하는 상위 버전의 조건부 블록을 포함하고 있다면, 상기 각각의 하위 버전에 대한 디스플레이 여부를 사용자가 설정할 수 있음은 물론이다. 이러한 경우를 본 발명의 제3 실시 예라고 가정하기로 한다. 그리고 이러한 본 발명의 제3 실시 예에 따라 사용자가 선택한 버전의 조건부 블록의 소스 코드들이 디스플레이되는 예를 하기 도 7에 보이기로 한다.
도 5는 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자에 의해 선택된 버전의 조건부 블록 소스 코드들이 디스플레이된 제1 실시 예를 보이고 있는 도면이다.
도 5를 참조하여 살펴보면, 도 5는 상기 도 1에서 보인 소스 코드 중에서 사용자가 선택한 버전에 대한 정보가 "ORANGE_REV_02" 인 경우를 가정한 것이다. 따라서 이러한 경우 본 발명에서는 도 5에서 보이고 있는 바와 같이 "ORANGE_REV_02" 와 동일한 계층상의 조건부 블록은 감춰지고 "ORANGE_REV_02"만 디스플레이하게 된다.
한편 도 5에서는 동일 계층상의 조건부 블록은 감춰지고 대신 특정 기호(500)를 통해 감춰진 부분이 folding 형태로 되어 있음을 표시하고 있다. 그리고 이러한 경우 만약 사용자가 상기 감춰진 부분, 즉 상기 특정 기호(500)를 선택한다면 상기 감춰진 부분이 디스플레이될 수도 있음은 물론이다.
도 6은 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자에 의해 선택된 버전의 조건부 블록 소스 코드들이 디스플레이된 제2 실시 예를 보이고 있는 도면이다.
도 6을 참조하여 살펴보면, 사용자가 특정 상위 버전에 포함된 하위 버전의 조건부 블록에 대해 디스플레이 여부를 설정한 경우를 보이고 있는 도면이다. 즉, 상기 사용자가 상위 버전의 조건부 블록인 "ORANGE_REV_02" 이 디스플레이되도록 설정하고, 상기 버전 정보 "ORANGE_REV_02"의 하위 버전인 "DEBUG_LEVEL_1"과 "DEBUG_LEVEL_0"이 디스플레이되지 않도록 설정한 경우라면, 상기 통합개발툴 구동 장치는 상위 버전 "ORANGE_REV_02"에 포함되면서 "DEBUG_LEVEL_1"에도 포함되지 않고, "DEBUG_LEVEL_0"에도 포함되지 않는 부분의 소스 코드만을 디스플레이하게 된다. 따라서 상기 도 6에서 보이는 바와 같이 디스플레이될 수 있다.
또한 여기서 상기 디스플레이되도록 설정되지 않은 버전의 조건부 블록들은 특정 기호(600, 602, 604, 606, 608)를 통해 Unfolding 상태임을 표시할 수 있음은 물론이다. 그리고 이러한 경우 사용자가 상기 특정 기호(600, 602, 604, 606, 608) 를 선택하는 경우 사용자에 의해 선택된 Unfolding 상태의 조건부 블록들은 Folding 상태로 표시 상태가 변경되어 소스 코드를 디스플레이할 수도 있음은 물론이다.
도 7은 본 발명의 실시 예에 따른 조건부 블록 표시 방법에 따라 사용자에 의해 선택된 버전의 조건부 블록 소스 코드들이 디스플레이된 제3 실시 예를 보이고 있는 도면이다.
도 7을 살펴보면 상술한 컬러링 표시 방식에 따라 사용자가 선택한 버전의 조건부 블록의 소스 코드 배경색을 변경하여 디스플레이함을 보이고 있다. 그리고 이뿐만 아니라 본 발명에서는 상기 표시 방식 설정에 따라 선택되지 않은 조건부 블록의 소스 코드를 아예 감춰버릴 수도 있음은 물론이다. 따라서 도 7은 상기 도 6의 경우, 즉 상위 버전의 조건부 블록인 "ORANGE_REV_02" 이 디스플레이되도록 설정하고, 상기 버전 정보 "ORANGE_REV_02"의 하위 버전인 "DEBUG_LEVEL_1"과 "DEBUG_LEVEL_0"이 디스플레이되지 않도록 설정한 경우, 상위 버전 "ORANGE_REV_02"에 포함되면서 "DEBUG_LEVEL_1"에도 포함되지 않고, "DEBUG_LEVEL_0"에도 포함되지 않는 부분의 소스 코드만을 컬러링 표시 방식으로 디스플레이하고, 그 외의 부분은 감춰버린 예를 보이고 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 특히 본 발명의 실시 예에서는 사용자의 선택에 의해 검색된 조건부 블록의 소스 코드가 다른 조건부 블록의 소스 코드와 구별되게 표시하기 위해 folding/Unfolding 방식 또는 컬러링 표시 방식 중 적어도 하나를 사용하는 것을 예로 들어 설명하였다. 그러나 본 발명에서 사용자에 의해 선택된 조건부 블록 코드의 소스 코드가 구별되게 표시하는 방법이 이에 국한되지 않음은 물론이다. 따라서 발명의 범위는 설명된 실시 예에 의해 정할 것이 아니고, 특허청구범위와 특허청구범위의 균등한 것에 의해 정하여져야 한다.
그러므로 본 발명은 소프트웨어 개발자가 선택한 버전에 따른 조건부 블록의 소스 코드가 다른 버전의 조건부 블록에 따른 소스 코드와 구별되어 디스플레이될 수 있도록 한다. 따라서 본 발명은 소프트웨어 개발자의 소스 코드 가독성을 증가시킬 수 있고, 개발자가 더 쉽게 소스 코드를 분석할 수 있도록 한다. 이에 따라 본 발명은 소프트웨어 개발 시의 생산성을 향상시킬 수 있다.

Claims (11)

  1. 사용자로부터 조건부 블록의 버전 정보를 입력받기 위한 버전 정보 입력창을 디스플레이하는 단계와,
    상기 사용자로부터 입력받은 버전 정보에 대응되는 매크로(Macro)식을 포함하는 조건부 블록을 검색하는 단계와,
    상기 검색된 조건부 블록을 미리 설정된 표시 방식에 따라 디스플레이하는 단계를 포함하고,
    상기 버전 정보 입력창을 디스플레이하는 단계는,
    현재의 소스 코드들을 분석하여 상기 소스 코드들 각각에 포함된 조건부 블록들 각각의 구조들을 각각의 버전 별로 인식하는 단계와,
    상기 각각의 버전 별로 인식된 조건부 블록들 각각에 포함된 매크로식에 대응되는 버전 정보들을 추출하는 버전 정보 추출 단계와,
    상기 각각의 버전 별로 인식된 조건부 블록들 각각의 구조들에 따라 상기 추출된 버전 정보들의 목록을 생성하는 단계와,
    상기 생성된 목록을 포함하는 버전 정보 입력창을 디스플레이하는 단계를 포함함을 특징으로 하는 조건부 블록 소스 코드 표시 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 조건부 블록들 각각의 구조들에 따라 상기 추출된 버전 정보들의 목록을 생성하는 단계는,
    상기 소스 코드의 적어도 일부가 상위 버전의 조건부 블록을 포함하고, 상기 상위 버전의 조건부 블록이 하위 버전의 조건부 블록을 포함하는 경우, 상기 하위 버전의 조건부 블록에 대한 버전 정보를 포함하는 목록을 생성하는 단계를 포함함을 특징으로 하는 조건부 블록 소스 코드 표시 방법.
  4. 제3항에 있어서,
    상기 조건부 블록들 각각의 구조들에 따라 상기 추출된 버전 정보들의 목록을 생성하는 단계는,
    상기 사용자에 의해 상기 하위 버전의 조건부 블록의 디스플레이가 설정된 경우, 상기 하위 버전의 조건부 블록을 검색하는 단계를 포함하고,
    상기 생성된 목록을 포함하는 버전 정보 입력창을 디스플레이하는 단계는,
    상기 검색된 하위 버전의 조건부 블록에 대한 디스플레이 여부를 설정할 수 있는 디스플레이 설정 메뉴를 디스플레이하는 단계를 포함함을 특징으로 하는 표시하는 조건부 블록 소스 코드 표시 방법.
  5. 제4항에 있어서,
    상기 사용자로부터 입력받은 버전 정보에 대응하는 매크로식을 포함하는 조건부 블록을 검색하는 단계 이전에,
    상기 사용자로부터, 상기 검색된 하위 버전에 대한 조건부 블록의 버전 정보들을 포함하는 목록의 버전 정보들 중 적어도 하나를 선택받았는지 여부를 체크하는 단계를 더 포함함을 특징으로 하는 조건부 블록 소스 코드 표시 방법.
  6. 제5항에 있어서,
    상기 하위 버전의 조건부 블록을 검색하는 단계는,
    상기 사용자로부터, 상기 검색된 하위 버전에 대한 조건부 블록의 버전 정보들을 포함하는 목록의 버전 정보들 중 적어도 하나를 선택받은 경우, 상기 사용자로부터 입력받은 버전 정보에 대응하는 매크로식을 포함하는 조건부 블록에서, 상기 검색이 선택된 하위 버전의 조건부 블록을 포함하여 상기 조건부 블록을 검색하는 단계를 포함함을 특징으로 하는 조건부 블록 소스 코드 표시 방법.
  7. 제1항에 있어서,
    상기 검색된 조건부 블록을 미리 설정된 표시 방식에 따라 디스플레이하는 단계는,
    상기 검색된 조건부 블록의 소스 코드들을 제외한 다른 버전의 조건부 블록 소스 코드들은 폴더(folder)가 닫힌 상태인 folding 상태로 표시하고, 상기 검색된 조건부 블록의 소스 코드들은 폴더가 펼쳐진 상태인 Unfolding 상태로 표시하는 folding/unfolding 표시 방식으로 디스플레이하는 단계를 포함함을 특징으로 하는 조건부 블록 소스 표시 방법.
  8. 제1항에 있어서,
    상기 검색된 조건부 블록을 미리 설정된 표시 방식에 따라 디스플레이하는 단계는,
    상기 검색된 조건부 블록의 소스 코드들만을 특정 지정된 배경색으로 표시하는 단계를 포함함을 특징으로 하는 조건부 블록 소스 코드 표시 방법.
  9. 제1항에 있어서,
    상기 검색된 조건부 블록을 미리 설정된 표시 방식에 따라 디스플레이하는 단계는,
    상기 검색된 조건부 블록의 소스 코드들만을 디스플레이하는 단계를 포함함을 특징으로 하는 조건부 블록 소스 코드 표시 방법.
  10. 삭제
  11. 삭제
KR1020060005404A 2006-01-18 2006-01-18 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법 KR101276933B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060005404A KR101276933B1 (ko) 2006-01-18 2006-01-18 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060005404A KR101276933B1 (ko) 2006-01-18 2006-01-18 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법

Publications (2)

Publication Number Publication Date
KR20070076246A KR20070076246A (ko) 2007-07-24
KR101276933B1 true KR101276933B1 (ko) 2013-06-19

Family

ID=38501223

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060005404A KR101276933B1 (ko) 2006-01-18 2006-01-18 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법

Country Status (1)

Country Link
KR (1) KR101276933B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101352383B1 (ko) * 2011-11-16 2014-01-17 주식회사 한백전자 Vpl을 이용한 프로그램 개발 방법과 그 방법을 구현한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000026498A (ko) * 1998-10-20 2000-05-15 서평원 원시 코드 관리 시스템
KR100329991B1 (ko) 1999-10-19 2002-03-27 윤종용 프로젝트 매니저의 체크박스를 이용한 전처리기 디파인 처리방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000026498A (ko) * 1998-10-20 2000-05-15 서평원 원시 코드 관리 시스템
KR100329991B1 (ko) 1999-10-19 2002-03-27 윤종용 프로젝트 매니저의 체크박스를 이용한 전처리기 디파인 처리방법

Also Published As

Publication number Publication date
KR20070076246A (ko) 2007-07-24

Similar Documents

Publication Publication Date Title
US10929449B2 (en) Generating a structured document guiding view
US10338893B2 (en) Multi-step auto-completion model for software development environments
CA2937964C (en) Systems and methods for bi-directional visual scripting for programming languages
US7805705B2 (en) Graphically depicting program code depth
US20070245339A1 (en) Creating documentation screenshots on demand
KR100860963B1 (ko) 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법
JP6354457B2 (ja) アプリケーション開発支援装置、そのデータ処理方法、およびプログラム
JP6514084B2 (ja) 操作支援システム、操作支援方法、および、操作支援プログラム
US10489122B1 (en) Inline text editor elements as an abstraction layer for graphical code editing
US8745521B2 (en) System and method for annotating graphical user interface
US8701086B2 (en) Simplifying analysis of software code used in software systems
CN114416516B (zh) 基于截图的测试用例及测试脚本生成方法、系统及介质
CN103970662A (zh) 一种gui软件输入边界值获取方法和系统
JP2018503917A (ja) キーワードに基づくテキスト検索の方法及び装置
KR101276933B1 (ko) 선택된 버전의 조건부 블록 소스 코드만을 표시하는 조건부블록 소스 코드 표시 방법
CN102193789A (zh) 一种实现可配置跳转链接的方法和设备
JP2006277127A (ja) 修正プログラムの比較方法
JP2017146729A (ja) 情報処理装置、操作支援方法および操作支援プログラム
KR20040103497A (ko) 그래픽 유저 인터페이스 생성 방법 및 장치
CA3148441A1 (en) Code text processing method, device, computer equipment and storage medium
Zhang et al. A web-based tool for using storyboard of Android apps
US20150199183A1 (en) Program analysis apparatus and program analysis method
CN112256573B (zh) 一种面向simscript语言的仿真程序可视化方法
Alfaro et al. $\mu $ PrintGen: Supporting Workflow Logs Analysis Through Visual Microprint
Mazanek et al. Generating correctness-preserving editing operations for diagram editors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee