이 판의 목적 · 계획 · 체크리스트
다른 Genealogy 프로젝트에서 만든 문체 검사기를 이 프로젝트의 글 네 편에 처음 적용한다. 지적된 항목을 수정하고, 검사기가 검출하지 못한 항목을 찾아 원인을 기록한다.
계획
- 글 네 편에 문체검사.py 실행과 지적 집계
- 대시와 금지어 지적 수정
- 검사 제외 구역에 들어간 경구 확인과 수정
- 금지어 오탐 재현
- 수정 후 재검사
체크리스트 6/9
| 상태 | 항목 |
|---|---|
| 완료 | 네 편 검사. 대시 14건·금지어 4건·마침표빠짐 16건·겉멋 1건 |
| 완료 | 대시 14건을 가운뎃점으로 교체. 모두 항목 이름과 설명을 연결하는 위치 |
| 완료 | blockquote 안 경구 3건 수정. 인용문 대신 직접 작성한 문장이었음 |
| 완료 | 겉멋 검사가 b 태그만 대조하여 검출되지 않은 문장 3건 수동 수정 |
| 완료 | 금지어가 「글꼴이」에서 검출되는 오탐을 명령 한 줄로 재현 |
| 완료 | 재검사 결과 네 편 모두 대시 0·마침표빠짐 0·겉멋 0 |
| 미완 | 해당 오탐 수정 (여섯 프로젝트 공용 검사기이므로 이번 판에서는 보류) |
| 미완 | 강조 태그를 b로 통일 (다음 판 과제) |
| 미완 | 글 작성 직후 검사기 실행 (이번 판은 게시 직전에 검사) |
1. 검사 결과
문체검사.py는 대시, 금지어, 긴 문장, 마침표 누락, 겉멋 표현의 다섯 항목을 검사한다. 표 1은 v1.0.0.1의 글 네 편에 검사기를 적용한 결과이다.
표 1 v1.0.0.1 글 네 편의 문체 검사 결과(건)
| 글 | 대시 | 금지어 | 마침표빠짐 | 겉멋 |
|---|---|---|---|---|
| 개발일지 index | 7 | 2 | 2 | 0 |
| 게시본 본편 | 0 | 0 | 12 | 1 |
| 게시본 개발일지 1편 | 6 | 2 | 2 | 0 |
| 게시본 개발일지 2편 | 1 | 0 | 0 | 0 |
대시 14건은 모두 항목 이름과 설명을 연결하는 위치에 사용되었으며, 규칙에 따라 가운뎃점으로 변경하였다.
2. 검사기 미검출 항목
2.1 blockquote 검사 제외 구역
검사기는 blockquote 태그 안의 문장을 검사하지 않는다. 인용문은 원문을 그대로 옮겨야 하므로 문체 수정 대상에서 제외하기 때문이다. 그러나 이 프로젝트의 blockquote 3개에 포함된 문장은 모두 직접 작성한 경구였다. 표 2는 수정 전후 문장을 나타낸다.
표 2 blockquote 안 경구의 수정 전후
| 고치기 전 | 고친 뒤 |
|---|---|
| 목적은 「어떤 제품이 좋은가」가 아니다 | 이 도구가 계산하는 값은 「같은 돈으로 받는 단백질량」 하나다 |
| 집계 최저가는 「이 값에 살 수 있다」가 아니라 「어딘가에 이 값이 있었다」다 | 2268g이 137,090원인데 4.54kg이 107,400원으로 나온 것은 두 값을 낸 판매처가 서로 달랐기 때문이다 |
| 폴더 안에서 열리는 것과 남에게 보내도 열리는 것은 다른 일이다 | 게시본은 그림·글꼴·스타일을 파일 안에 모두 넣어, 다른 폴더로 옮겨도 같게 보이게 만든 것이다 |
수정 전 세 문장은 수치와 대상 없이 교훈만 서술하고 있었다. 수정 후 문장에는 수치와 대상을 명시하였다.
2.2 강조 태그 불일치
검사기는 <b>와 <h2> 태그 안의 문장만 겉멋 다섯 유형과 대조한다. 이 프로젝트의 개발일지는 강조에 <strong> 태그를 사용하였고 본편만 <b> 태그를 사용하였다.
이에 따라 본편의 정의 경구 1건은 검출되었으나, 개발일지의 같은 유형 문장 3건은 검출되지 않았다. 표 3은 검출되지 않은 문장과 수정 결과를 나타낸다.
표 3 강조 태그 불일치로 검출되지 않은 문장
| 검출되지 않은 문장 | 겉멋 유형 | 고친 뒤 |
|---|---|---|
| 읽는 사람이 원하는 것은 「어떻게 만들었나」가 아니라 「그래서 뭘 사야 하나」다 | 정의 경구 | 독자가 찾는 것은 단가 표와 고르는 기준이다 |
| 게시본을 손으로 고치면 숫자가 서로 어긋나는 날이 온다 | 되풀이 격언 | 게시본을 손으로 고치면 다음 갱신 때 그 수정이 사라진다 |
| 외부 요청이 하나라도 있으면 그 파일은 「단일 파일」이 아니다 | 정의 경구 | 게시판에서 글꼴 요청이 막히면 글자가 바뀌어 줄 바꿈 위치까지 달라진다 |
3. 금지어 꼴이 오탐
금지어 목록의 꼴이가 「글꼴이」에서 검출되었다. 금지어를 부분 문자열로 검색하기 때문이며, 다음 명령으로 재현된다.
printf '<p>글꼴이 없어 네모로 나왔다.</p>' > t.html
python3 문체검사.py t.html
→ 금지어 꼴이
GenealogyKSIC의 글 39편에서는 이 오탐이 발생하지 않았다. 「글꼴이」가 한 번 사용되었으나 표 안에 있어 검사 제외 구역에 해당하였기 때문이다.
검사기는 여섯 프로젝트가 공통으로 사용하므로 이번 판에서는 수정하지 않았다. 수정하려면 금지어를 정규식으로 처리하고 꼴이를 (?<!글)꼴이로 변경하면 된다.
4. 수정 후 재검사 결과
수정 후 네 편을 다시 검사한 결과는 다음과 같다.
html/devlog/index.html 대시 0 금지어 꼴이 마침표빠짐 0 겉멋 0
html/posting/01-단백질... 대시 0 금지어 - 마침표빠짐 0 겉멋 0 OK
html/posting/02-개발일지-1편 대시 0 금지어 꼴이 마침표빠짐 0 겉멋 0
html/posting/03-개발일지-2편 대시 0 금지어 - 마침표빠짐 0 겉멋 0 OK
남은 꼴이 2건은 3절의 오탐이며, 나머지 항목은 모두 0건이다.
5. 다음 판 과제
다음 판에서는 글을 작성한 직후 문체검사.py를 실행한다. 이번 판처럼 게시 직전에 검사하면 지적된 문장을 모두 다시 작성해야 하기 때문이다.
강조 태그는 <b>로 통일한다. 겉멋 검사는 <b> 태그 안의 문장만 대조하므로 태그를 통일해야 개발일지도 검사 대상에 포함된다. blockquote 태그는 다른 사람의 글을 인용할 때만 사용한다.