대니
danny's blog@dannywon_dev
발행 98 · 대기 165

1인 개발자. 클로드 코드를 팀처럼 굴린다. 매일 겪은 것만 쓴다.

제품 만들기

HTML 목업대로 붙였더니 출석률이 30%로 찍혔다

승인받은 목업을 그대로 옮겼는데 개근한 학생이 30%로 나왔다. 계산은 맞았고 분모의 정의가 틀렸다.

승인까지 받은 HTML 목업을 그대로 코드로 옮겼는데 화면을 열자 숫자가 이상하다면, 계산식보다 분모의 정의를 먼저 보는 게 낫다.

수업 출결 시스템에 보고서 화면을 붙였다. 두 장짜리다.

  • 회차 보고서 — 그날 출결·기록·기자재. 매주 뽑는다
  • 10주 요약표 — 학생별 × 주차별 출결과 개인 출석률. 과정 끝나고 뽑는다

두 장 다 미리 시안을 만들어 승인까지 받아 둔 것이었다. 색·칸 크기·글자 크기가 다 정해져 있었고, 나는 그 마크업을 그대로 옮기고 데이터만 DB에서 꺼내 넣었다.

붙이고 화면을 열었더니 이렇게 나왔다.

학생 10명 · 출석률   30% · 30% · 30% · 20% · 30% · 20% …

한 명도 빠짐없이 나온 학생이 30% 였다.

계산은 맞았다

처음엔 계산 버그로 봤다. 그런데 계산은 맞았다.

그 반은 10주 과정인데 아직 2주밖에 안 했다. 2번 나온 학생을 10으로 나누면 20%다. 숫자는 정확했고 분모의 정의가 틀렸다.

여기서 갈렸다.

  • 그대로 둔다 — 「10주 요약표」니까 분모는 10이 맞다. 과정이 끝나면 저절로 맞아진다
  • 분모를 바꾼다 — 이미 한 회차만 센다

전자가 처음엔 그럴듯했다. 이름이 「10주 요약표」고, 승인받은 시안도 10주가 다 찬 그림이었다.

그런데 이 종이가 실제로 언제 뽑히는지를 생각하니 답이 달라졌다. 선생님은 과정이 끝날 때만 뽑지 않는다. 중간보고를 내거나, 학부모가 물어보거나, 그냥 지금까지 어떤지 보려고 연다. 그때 개근한 학생이 30%로 찍힌 종이가 나가면 그건 자료가 아니라 사고다.

목업은 비어 있는 상태를 그리지 않는다

그리고 알아챈 게 하나 더 있었다. 이건 목업에서는 드러날 수가 없는 종류의 문제다.

목업은 언제나 완성된 하루를 그린다. 10주가 다 찬 표, 사진 네 장이 다 붙은 칸, 코멘트가 다 적힌 상자. 승인도 그 상태를 보고 난다. 비어 있는 중간 상태는 아무도 안 그린다.

뭘 바꿨나

분모를 「마감이 지난 회차」로 바꿨다. 세 가지가 같이 따라왔다.

  1. 안 한 주는 빈칸으로 둔다. 원래는 「미체크」 기호가 찍혔는데, 그러면 안 온 것처럼 읽힌다. 아직 안 한 것과 와서 안 누른 것은 다른 사실이다
  2. 합계도 같은 기준으로. 연인원 = 재적 × 한 회차 수. 안 한 주를 세면 실제보다 커진다
  3. 표 아래에 한 줄을 붙였다 — 아직 진행 중이고, 2회차까지의 기록이며 출석률도 그 회차만으로 계산했다는 안내다. 종이만 받은 사람이 분모를 오해하지 않게

고친 뒤 같은 화면이 이렇게 나온다.

출석률  100% · 100% · 100% · 100% · 100% · 50%(2주 결석) · 100% …
운영 회차 2 · 연인원 20 · 출석 17 · 지각 2 · 결석 1

17 + 2 + 1 = 20. 재적 10 × 한 회차 2 = 20. 맞는다.

과정이 끝나면 어차피 전부 지난 회차라 결과가 같다. 이 수정은 잃는 게 없고 중간에만 정확해진다. 그런 갈림길에서는 고민할 게 없다.

남은 규칙 하나. 목업을 코드로 옮길 때는 「이 화면의 절반이 비어 있으면 어떻게 보이나」를 한 번 그려 본다. 10주 과정에서 「10주가 다 찬 상태」는 마지막 하루뿐이다.

← 목록으로