가독성 있는 소스코드는 이해하기 쉽고 수정하기 편하기 때문에 손쉽게 유지보수할 수 있다. 소스코드의 가독성은 프로그램의 제어 구조와 같은 알고리즘의 복잡도뿐만 아니라 함수명, 들여쓰기 등과 같은 코딩스타일에 의해서도 많은 영향을 받는다. 지금까지 소스코드의 가독성을 높이기 위해 다양한 코딩 표준들이 제안되었으나 프로그래밍 교과목에서는 코딩스타일을 다루지 않거나 무시하는 경우가 많았다. 그 이유는 코딩스타일이 프로그램의 효율에는 영향을 주지 않기 때문에 강제하기 어렵기 때문이다. 이 논문에서는 프로그램 소스코드의 코딩스타일을 분석하고 그 결과를 시각화하는 스타일직소(StyleJigsaw) 시스템을 제안한다. 스타일직소 시스템은 C/C++나 Java 언어로 작성된 소스코드의 코딩스타일을 분석하여 이를 정량화하고 그 결과를 퍼즐화된 이미지로 시각화한다. 스타일직소 시스템의 교육적 효과를 입증하기 위해 C++프로그래밍 수업을 듣는 학생들을 대상으로 스타일직소 사용 실험을 진행하였다. 실험 결과 스타일직소 시스템을 사용한 경우 코딩스타일 평균 점수가 약 8.0점(10.9%) 가량 향상된 것으로 나타났다. 또한, 프로그래밍 수업의 수강생들을 대상으로 한 설문조사에서 약 88.5%의 학생이 스타일직소 시스템이 코딩스타일 학습에 도움이 되었다고 응답하였다. 프로그래밍 수업에서 스타일직소 시스템을 활용함으로써 학생들이 가독성 있는 프로그램 작성 능력을 기르는 데 도움을 줄 수 있을 것이다.
가독성 있는 소스코드는 이해하기 쉽고 수정하기 편하기 때문에 손쉽게 유지보수할 수 있다. 소스코드의 가독성은 프로그램의 제어 구조와 같은 알고리즘의 복잡도뿐만 아니라 함수명, 들여쓰기 등과 같은 코딩스타일에 의해서도 많은 영향을 받는다. 지금까지 소스코드의 가독성을 높이기 위해 다양한 코딩 표준들이 제안되었으나 프로그래밍 교과목에서는 코딩스타일을 다루지 않거나 무시하는 경우가 많았다. 그 이유는 코딩스타일이 프로그램의 효율에는 영향을 주지 않기 때문에 강제하기 어렵기 때문이다. 이 논문에서는 프로그램 소스코드의 코딩스타일을 분석하고 그 결과를 시각화하는 스타일직소(StyleJigsaw) 시스템을 제안한다. 스타일직소 시스템은 C/C++나 Java 언어로 작성된 소스코드의 코딩스타일을 분석하여 이를 정량화하고 그 결과를 퍼즐화된 이미지로 시각화한다. 스타일직소 시스템의 교육적 효과를 입증하기 위해 C++프로그래밍 수업을 듣는 학생들을 대상으로 스타일직소 사용 실험을 진행하였다. 실험 결과 스타일직소 시스템을 사용한 경우 코딩스타일 평균 점수가 약 8.0점(10.9%) 가량 향상된 것으로 나타났다. 또한, 프로그래밍 수업의 수강생들을 대상으로 한 설문조사에서 약 88.5%의 학생이 스타일직소 시스템이 코딩스타일 학습에 도움이 되었다고 응답하였다. 프로그래밍 수업에서 스타일직소 시스템을 활용함으로써 학생들이 가독성 있는 프로그램 작성 능력을 기르는 데 도움을 줄 수 있을 것이다.
Since the high readable source codes help us to understand and modify the program, it is much easy to maintain them. The readability of source code is not only affected by the complexity of algorithms such as control structures but also affected by the coding styles such as naming and indentation. A...
Since the high readable source codes help us to understand and modify the program, it is much easy to maintain them. The readability of source code is not only affected by the complexity of algorithms such as control structures but also affected by the coding styles such as naming and indentation. Although various coding standards have been presented for promoting the readability of source codes, it has been usually lost or ignored in a programming course. One of the reasons is that the coding standard is not a hard-and-false rule since it does not contribute to the performance of software. In this paper, we propose a simple automatic system, namely StyleJigsaw, which checks the style of the source codes written by C/C++ or Java. In this system, the coding style score is calculated and visualized as a jigsaw puzzle. To measure the educational effectiveness of StyleJigsaw, several experiments have been conducted on a class students in C++ programming course. According to the experimental results, the coding style score increased about 8.0 points(10.9%) on average using StyleJigsaw. Further, according to a questionnaire survey targeting the students who attended the programming course, about 88.5% of the students responded that StyleJigsaw was of help to learn the coding standards. We expect that the StyleJigsaw can be effectively used to encourage the students to obey the coding standards, resulting in high readable programs.
Since the high readable source codes help us to understand and modify the program, it is much easy to maintain them. The readability of source code is not only affected by the complexity of algorithms such as control structures but also affected by the coding styles such as naming and indentation. Although various coding standards have been presented for promoting the readability of source codes, it has been usually lost or ignored in a programming course. One of the reasons is that the coding standard is not a hard-and-false rule since it does not contribute to the performance of software. In this paper, we propose a simple automatic system, namely StyleJigsaw, which checks the style of the source codes written by C/C++ or Java. In this system, the coding style score is calculated and visualized as a jigsaw puzzle. To measure the educational effectiveness of StyleJigsaw, several experiments have been conducted on a class students in C++ programming course. According to the experimental results, the coding style score increased about 8.0 points(10.9%) on average using StyleJigsaw. Further, according to a questionnaire survey targeting the students who attended the programming course, about 88.5% of the students responded that StyleJigsaw was of help to learn the coding standards. We expect that the StyleJigsaw can be effectively used to encourage the students to obey the coding standards, resulting in high readable programs.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
Li는 프로그래밍 수업의 수강생들을 대상으로 한 설문조사를 바탕으로 문서로 코딩 규칙을 제시하는 것 보다는 예제나 샘플 코드를 통한 학습이 더 효율이라고 제시하였다[8]. 또한 효과적으로 코딩 규칙을 가르치기 위해서 학생들의 수준에 맞는 코딩 규칙을 제공하고, 코딩 규칙 학습에 대한 지속적인 피드백이 필요하다고 제안하였다.
이 연구에서 Li는 프로그래밍 수업에서 전문적인 프로그래밍까지 전형적으로 사용되는 코딩 표준의 대표적인 지침을 소개하고 코딩 표준에 대한 숙련도를 높이기 위해서 학생들의 수준에 맞는 코딩 표준을 제시해야 한다고 주장하였다. 또한, 학생들의 소스코드에 대한 개별적 피드백을 제공하는 것이 코딩스타일 학습에 효과적이며 이를 위해 자동화된 도구 사용의 필요성을 주장하였다.
이 논문에서는 C/C++와 Java로 작성된 소스코드의 코딩스타일을 검사하고 시각화하는 스타일직소 시스템을 제안하였다. 스타일직소 시스템은 기존에 제안된 코딩스타일 시각화 시스템인 StyleVisualizer의 단점을 보완하여 완성되지 않은 소스코드의 코딩스타일 검사가 가능하며, 소스코드의 어느 부분에 어떤 코딩 규칙을 위배했는지에 대한 정보를 보여준다.
이 논문에서는 StyleVisualizer에서 나타난 이러한 단점을 보완한 스타일직소(StyleJigsaw) 시스템을 제안하고자 한다. 스타일직소는 C/C++와 Java 프로그래밍 언어를 위한 자동화된 소스코드 스타일 분석 시스템이다.
이 논문에서는 스타일직소를 이용한 코딩스타일 교육의 효과를 평가하기 위하여 실제 프로그래밍 수업에 적용하여 학생들의 과제 결과물을 대상으로 스타일직소 사용 전후의 코딩스타일 점수를 비교하였다.
이 논문은 이전 논문[11]의 기본 아이디어를 바탕으로 하여 C 언어로 작성된 소스코드뿐만 아니라 C++와 Java 언어로 작성된 소스코드도 적용가능하게 확장하였다. 또한 직소퍼즐 생성 모듈과 사용자 인터페이스를 새롭게 개선하여 구현하였다.
제안 방법
그리고 학생들의 코딩스타일에 대한 인식과 스타일 직소 시스템에 대한 반응을 알아보기 위한 설문조사를 하였다. 설문조사 결과 수강생 전원은 코딩스타일의 중요성에 대해 인식하고 있는 것으로 응답하였으며, 약 88.
다음으로 스타일직소의 코딩스타일 교육 효과를 살펴보기 위해 프로그래밍 수업에서 스타일직소를 적용한 후 코딩스타일 점수 변화를 살펴보았다. 실험은 2012년 1학기 C++ 프로그래밍 수업을 수강한 26명의 컴퓨터공학과 학부 2학년을 대상으로 시행되었다.
또한 교수자가 따로 시간을 할애하여 학생들의 코딩스타일에 대한 피드백을 해주지 않아도 학생들스스로 코딩스타일을 검사하고 코딩스타일을 개선할수 있다는 점이 스타일직소의 장점이라고 할 수 있다. 다음으로 프로그래밍 수업의 수강생들을 대상으로 코딩스타일에 대한 인식과 스타일직소 시스템에 대한 평가를 위해 설문조사를 실시하였다. 설문조사 문항은[표 6]과 같다.
일반적으로 사진의 중심부분에 중요한 부분이 놓일 확률이 높으며 특히 인물사진은 얼굴 부분이 가장 중요한 부분이라고 할 수 있다. 따라서 이 논문에서는 퍼즐 조각이 노출되는 순서를 정할 때 각 퍼즐 조각의 위치와 색상을 고려하여 가중치를 부여한다. 즉, 퍼즐 조각의 위치가 이미지의 가운데일수록, 픽셀의 색이 피부색에 가까울수록 높은 가중치를 부여한다.
이 논문은 이전 논문[11]의 기본 아이디어를 바탕으로 하여 C 언어로 작성된 소스코드뿐만 아니라 C++와 Java 언어로 작성된 소스코드도 적용가능하게 확장하였다. 또한 직소퍼즐 생성 모듈과 사용자 인터페이스를 새롭게 개선하여 구현하였다. 스타일직소를 이용하여 사용자는 자신이 검사할 규칙을 선택할 수 있으며 또한 자신만의 퍼즐 이미지를 선택할 수 있다.
먼저 스타일직소 사용여부에 따른 스타일점수 향상 정도를 평가하기에 앞서 교수자의 설명과 유인물로만 코딩스타일을 학습한 학생들의 코딩스타일 점수 변화를 살펴보았다. 조사 데이터는 2011학년도 2학기 C++프로그래밍 수업을 수강한 29명의 학부 2학년들이 제출한 과제물이며 [표 4]에 정리되어 있다.
본 연구자들은 이전 논문에서 소스코드의 코딩 규칙의 준수 정도를 정량화하고 이를 얼굴 이미지를 이용하여 시각화하는 StyleVisualizer를 제안하였다[9]. 실제로 프로그래밍 수업에서 StyleVisualizer를 활용하여 학생들에게 코딩스타일에 대한 관심을 유도하고, 학생들 스스로 코딩스타일을 검사하게 할 수 있었다.
설문지는 총 3개의 문항으로 구성되어 있으며 첫 번째 문항은 수강생들의 코딩스타일에 대한 인식을 조사 하기 위한 것이고, 나머지 두 문항은 스타일직소의 목표인 교육적 의도에 부합하는지 알아보기 위한 것이다. 각 문항에 대한 답변은 각 5개의 항목으로 선택하게 하였다.
이렇게 불러온 소스코드의 코딩스타일 검사 결과는 [그림 5](b)의 ‘오류’ 탭으로 볼수 있다. 소스코드의 코딩스타일을 검사 후 전체 코딩 스타일 점수와 코딩 규칙에 따르지 않은 항목들을 라인 별로 목록으로 보여주고, 목록의 마지막에 전체 검사 항목 수와 위반 항목 수 등의 간단한 통계정보를 보여준다. 마지막으로 [그림 5](c)는 계산된 코딩스타일 점수에 따른 퍼즐로 변환된 이미지 조각들을 보여준다.
스타일직소 시스템이 코딩스타일 교육에 얼마나 효과적인지를 알아보기 위해 실제 컴퓨터공학과 학부 2학년의 C++ 프로그래밍 수업에 보조도구로 활용하여 코딩스타일 교육을 실시하였다. 실험 결과 스타일직소 시스템을 사용한 경우가 사용하지 않고 교육한 경우에 비해 코딩스타일 평균 점수가 약 8.
4장에서는 실제 프로 그래밍 수업에서 스타일직소 시스템을 활용한 실험결과를 제시한다. 실험은 크게 스타일직소 사용 전후의 학생들 과제물에 대한 코딩스타일 점수 비교와 스타일 직소의 사용에 대한 학생들의 설문응답으로 구성된다. 마지막으로 5장에서 결론과 향후연구를 제시한다.
실험 데이터는 [표 5]에 정리되어 있다. 앞선 실험과 마찬가지로 총 4회의 과제 중에서 3회 이상 제출한 학생들의 과제물을 대상으로 코딩스타일 점수 변화를 살펴보았다. 2012학년도 1학기의 경우 과제를 제출한 학생의 수가 적었으며, 총 26명의 학생 중 18명이 3회 이상 과제를 제출하였다.
Oman과 Cook은 코딩스타일을 구성하는 요소들을 기능적인 범주로 분류하는 분류법을 제시하였다[22]. 이 분류법에서는 코딩스타일 요소를 일반 범주(General Practices), 편집 스타일(Typographic Style), 제어구조 스타일(Control Structure Style), 정보구조 스타일(Information Structure Style)의 4가지 범주로 나누고, 각각의 범주에 대한 정의, 분류 기준, 하위클래스 목록 그리고 스타일 요소의 응용 예제들을 제시하였다. 각 범주에 대한 정의는 [표 1]과 같다.
황준하의 연구에서는 C 언어 교육과 정적 분석 도구 개발을 위해 Indian Hill C Style과 GNU Coding Standard, MISRA C Guideline을 종합하여 새로운 C 코딩스타일을 제안하고 CStyler라는 자동화된 C 코딩 스타일 검증기를 lex와 yacc를 이용해 개발하였다[21]. 이 연구에서 코딩 규칙의 분류 기준으로 문법적 요소뿐만 아니라 기능적 요소를 추가적으로 고려하여 1차적으로 문법적 요소를 기준으로 10개의 범주를 나누었으며, 2차적으로 기능에 따라 배치, 이름, 제어 흐름, 데이터 흐름과 같이 4가지 범주로 분류하였다. CStyler는 새롭게 정의된 규칙을 포함하여 총 137개의 코딩 규칙들을 검사한다.
대상 데이터
다음으로 스타일직소의 코딩스타일 교육 효과를 살펴보기 위해 프로그래밍 수업에서 스타일직소를 적용한 후 코딩스타일 점수 변화를 살펴보았다. 실험은 2012년 1학기 C++ 프로그래밍 수업을 수강한 26명의 컴퓨터공학과 학부 2학년을 대상으로 시행되었다. 중간 고사 이전까지는 교수자가 코딩 규칙에 관해 설명과 유인물로만 가르친 후 학생들에게 프로그래밍 과제를 작성하도록 하였으며, 중간고사 이후에는 스타일직소를 사용하여 과제를 제출하기 전에 학생들 스스로 과제의 코딩스타일을 검사하도록 하였다.
먼저 스타일직소 사용여부에 따른 스타일점수 향상 정도를 평가하기에 앞서 교수자의 설명과 유인물로만 코딩스타일을 학습한 학생들의 코딩스타일 점수 변화를 살펴보았다. 조사 데이터는 2011학년도 2학기 C++프로그래밍 수업을 수강한 29명의 학부 2학년들이 제출한 과제물이며 [표 4]에 정리되어 있다.
한 학기에 걸친 코딩스타일 점수 변화를 살펴보기 위해서 전체 수강생 29명 중에서 총 4회의 과제 중 3회 이상 과제를 제출한 26명이 제출한 소스코드를 실험 데이터로 사용하였다. 제출된 소스코드의 코딩스타일 점수를 측정한 결과 코딩스타일 평균 점수는 약 65점에서 70점 사이로 나타났으며, 학기 초에 제출한 과제 1보다 학기말에 제출한 과제 4의 평균 코딩스타일 점수가 65.
이론/모형
전체 이미지에서 피부색인 픽셀을 검출하기 위하여 기존에 제안된 다양한 피부 색상 모델을 이용할 수 있다[23-24]. 이 논문에서는 일반적으로 많이 사용되는 Chai 피부 색상 모델을 사용하였다[25]. Chai 모델에서는 이미지 픽셀값을 YCbCr 색상 모델로 변환하고 식 1과 같이 피부 픽셀을 판별한다.
성능/효과
그리고 학생들의 코딩스타일에 대한 인식과 스타일 직소 시스템에 대한 반응을 알아보기 위한 설문조사를 하였다. 설문조사 결과 수강생 전원은 코딩스타일의 중요성에 대해 인식하고 있는 것으로 응답하였으며, 약 88.5%의 학생이 스타일직소 시스템이 코딩스타일 교육에 도움이 된다고 응답하였다. 또한, 84.
설문조사를 통해 학생들의 대부분은 코딩스타일의 중요성을 인식하고 있으며, 스타일직소를 통한 코딩스타일 교육이 유인물이나 설명을 통한 교육보다 더 효과적임을 알 수 있었다. 따라서 스타일직소 시스템을 프로그래밍 수업의 보조도구로 활용한다면 더욱 효과적으로 코딩스타일을 교육할 수 있을 것이라고 생각한다.
스타일직소를 사용한 경우는 학생들의 코딩스타일평균 점수가 설명과 유인물로 학습한 경우보다 코딩스타일 평균 점수가 더 많이 상승하였다(8.0점, 10.9%). 따라서 스타일직소를 이용한 코딩스타일 교육이 기존의 설명과 유인물을 통한 교육보다 더 효과적이라고 할수 있다.
스타일직소 시스템이 코딩스타일 교육에 얼마나 효과적인지를 알아보기 위해 실제 컴퓨터공학과 학부 2학년의 C++ 프로그래밍 수업에 보조도구로 활용하여 코딩스타일 교육을 실시하였다. 실험 결과 스타일직소 시스템을 사용한 경우가 사용하지 않고 교육한 경우에 비해 코딩스타일 평균 점수가 약 8.0점(10.9%)점 가량 향상된 것으로 나타나 스타일직소가 코딩스타일 교육에 효과적인 것을 알 수 있었다.
그림에서 코딩스타일 학습에서 설명과 유인물을 이용한 경우와 스타일직소를 사용한 경우 모두 학기 초보다 학기 말에 코딩스타일 점수가 증가한 것을 알 수 있다. 실험 결과를 통해 스타일직소와 같은 코딩스타일 학습 도구를 사용하지 않더라도 프로그래밍 수업시간에 코딩 규칙 준수에 대한 중요성을 지속적으로 설명하고 프로그래밍 경험 증가함에 따라 학생들의 코딩스타일이 어느 정도는 개선되는 것으로 생각할 수 있다. 그러나 수업시간이 한정되어 있어 코딩스타일 교육에 많은 시간을 할애하기 어렵고, 학생들의 과제에 일일이 코딩스타일에 대한 피드백을 해 주는것 또한 많은 부담이 된다.
2012학년도 1학기의 경우 과제를 제출한 학생의 수가 적었으며, 총 26명의 학생 중 18명이 3회 이상 과제를 제출하였다. 이 학생들이 제출한 과제의 코딩스타일 평균 점수는 학기 초보다 학기 말로 갈수록 점차 상승하였고 학기 초 보다 학기 말에 약 13.1점 상승한 것으로 나타났다. 이는 학기 초 점수 기준 18.
한 학기에 걸친 코딩스타일 점수 변화를 살펴보기 위해서 전체 수강생 29명 중에서 총 4회의 과제 중 3회 이상 과제를 제출한 26명이 제출한 소스코드를 실험 데이터로 사용하였다. 제출된 소스코드의 코딩스타일 점수를 측정한 결과 코딩스타일 평균 점수는 약 65점에서 70점 사이로 나타났으며, 학기 초에 제출한 과제 1보다 학기말에 제출한 과제 4의 평균 코딩스타일 점수가 65.4점에서 70.5점으로 약 5.1점 향상된 것으로 나타났다. 이는 학기 초 점수 65.
먼저 Li의 연구에서는 대학의 프로그래밍 수업에서 코딩 표준을 학습하고 수용 하는 것에 대한 학생들의 설문 조사를 통해 코딩 표준에 대한 인식과 교육이 중요함을 언급하였다[8]. 코딩스타일에 대한 설문조사 결과 학생들은 소스코드의 가독성에 대해 중요하다고 인식은 하고 있으나 가독성 높은 프로그램을 작성하기 위해 코딩 표준을 준수하는 것은 어렵게 느끼고 있으며 잘 지키지 않는 것으로 조사되었다. 이 연구에서 Li는 프로그래밍 수업에서 전문적인 프로그래밍까지 전형적으로 사용되는 코딩 표준의 대표적인 지침을 소개하고 코딩 표준에 대한 숙련도를 높이기 위해서 학생들의 수준에 맞는 코딩 표준을 제시해야 한다고 주장하였다.
후속연구
설문조사를 통해 학생들의 대부분은 코딩스타일의 중요성을 인식하고 있으며, 스타일직소를 통한 코딩스타일 교육이 유인물이나 설명을 통한 교육보다 더 효과적임을 알 수 있었다. 따라서 스타일직소 시스템을 프로그래밍 수업의 보조도구로 활용한다면 더욱 효과적으로 코딩스타일을 교육할 수 있을 것이라고 생각한다.
현재 스타일직소 시스템은 C/C++와 Java로 작성된 소스코드만 지원하고 있으므로 향후 좀 더 많은 프로그래밍 언어를 지원하도록 확장이 필요하며, 프로그램의 제어 구조에 관한 고수준의 코딩 지침도 검사할 수 있도록 코딩 규칙을 확장할 필요가 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
지금까지 소스코드의 가독성을 높이기 위해 다양한 코딩 표준들이 제안되었으나 프로그래밍 교과목에서는 코딩스타일을 다루지 않거나 무시하는 경우가 많았던 이유는?
지금까지 소스코드의 가독성을 높이기 위해 다양한 코딩 표준들이 제안되었으나 프로그래밍 교과목에서는 코딩스타일을 다루지 않거나 무시하는 경우가 많았다. 그 이유는 코딩스타일이 프로그램의 효율에는 영향을 주지 않기 때문에 강제하기 어렵기 때문이다. 이 논문에서는 프로그램 소스코드의 코딩스타일을 분석하고 그 결과를 시각화하는 스타일직소(StyleJigsaw) 시스템을 제안한다.
가독성 있는 소스코드를 손쉽게 유지보수할 수 있는 이유는 무엇 때문인가?
가독성 있는 소스코드는 이해하기 쉽고 수정하기 편하기 때문에 손쉽게 유지보수할 수 있다. 소스코드의 가독성은 프로그램의 제어 구조와 같은 알고리즘의 복잡도뿐만 아니라 함수명, 들여쓰기 등과 같은 코딩스타일에 의해서도 많은 영향을 받는다.
소스코드의 가독성은 무엇에 영향을 받는가?
가독성 있는 소스코드는 이해하기 쉽고 수정하기 편하기 때문에 손쉽게 유지보수할 수 있다. 소스코드의 가독성은 프로그램의 제어 구조와 같은 알고리즘의 복잡도뿐만 아니라 함수명, 들여쓰기 등과 같은 코딩스타일에 의해서도 많은 영향을 받는다. 지금까지 소스코드의 가독성을 높이기 위해 다양한 코딩 표준들이 제안되었으나 프로그래밍 교과목에서는 코딩스타일을 다루지 않거나 무시하는 경우가 많았다.
참고문헌 (25)
이덕희, 디지털화와 산업의 양극화, 삼성경제연구소, 2008.
T. Tenny, "Program Readability: Procedures Versus Comments," IEEE Trans. on Software Engineering, Vol.14, No.9, pp.1271-1279, 1988.
H. Sutter and A. Alexandrescu, C++ Coding Standards: 101 Rules, Guidelines, and Best Practices (C++ in Depth Series), Addison-Wesley Professional, 2004.
X. Fang, "Using a Coding Standard to Improve Program Quality," in Proc. of the 2nd Asia-Pacific Conference on Quality Software, pp.73-78, IEEE, 2011.
T. Howles, "Fostering the Growth of a Software Quality Culture," ACM SIGCSE Bulletin, Vol.35, No.2, pp.45-47, 2003.
X. Li and C. Prasad, "Effectively Teaching Coding Standards in Programming," in Proc. of the 6th Conference on Information Technology Education, pp.239-244, 2005.
지정훈, 이윤정, 우균, "얼굴 표정을 이용한 코딩 스타일 점수 시각화", 정보과학회논문지: 소프트 웨어 및 응용, 제37권, 제7호, pp.578-583, 2010.
J. S. Lim, J. H. Ji, Y. J. Lee, and G. Woo, "Style Avatar: a Visualization System for Teaching C Coding Style," in Proc. of the 2011 ACM Symposium on Applied Computing, pp.1210-1211, ACM, 2011.
I. J. Jung, Y. J. Lee, B. H. Chun, E. K. Kim, and G. Woo, "Design and Implementation of Coding Style Jigsaw Game for C Learners," in Proc. of 2011 International Digital Design Invitation Exhibition, pp.61-62, 2011.
L. W. Cannon, R. A. Elliott, L. W. Kirchoff, J. H. Miller, R. W. Mitze, E. P. Schan, N. O. Whittington, H. Spencer, D. Keppel, and M. Brader, Recommended C Style and Coding Standards, AT&T Bell Labs. 1990.
MISRA Ltd., Guidelines for the use of the C language in vehicle based software, The Motor Industry Software Reliability Association, 1998.
MISRA Ltd., Guidelines for the use of the C language in critical systems, The Motor Industry Software Reliability Association, 2004.
L. Hatton, "Language Subsetting in an Industrial Context: A Comparison of MISRA C 1998 and MISRA C 2004," J. of Information Software Technology, Vol.49, No.5, pp.475-482, 2007.
J. G. Greeno, "The Structure of Memory and the Process of Solving Problem," in Contemporary Issues in Cognitive Psychology, pp.23-45, 1973.
R. Mayer and B. Shnejderman, "Syntactic/ Semantic Interactions in Programmer Behavior: Model and Experimental Result," J. of Computer and Information Sciences, Vol.8, No.3, pp.213-238, 1979.
황준하, "C 코딩스타일 검증기의 설계 및 구현", 한국컴퓨터정보학회논문지, 제13권, 제2호, pp.31-40, 2008.
D. Chai and K. N. Ngan, "Face Segmentation Using Skin-color Map in Videophone Application," IEEE Trans. on Circuit and Systems for Video Technology, Vol.9, No.4, pp.551-564, 1999.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.