Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 14 additions & 6 deletions src/feature/album/4cut/components/fourCutAlbumTemplateMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,21 @@ import type { FourCutTemplateId } from './fourCutTemplateTypes';

/** 부산대(PNU) 전용 — 앨범 ID별 네컷 SVG 템플릿 */
const PNU_ALBUM_TEMPLATE_BY_ID: Readonly<Record<string, FourCutTemplateId>> = {
'1f1277e1-ee95-6fd0-9aa0-cba45c137a2a': 'pnu_one',
// 사회학과
'1f127ecc-5848-61a4-9583-b1e01df3644f': 'pnu_one',
// 정치외교학과
'1f1277e3-75a6-64b1-9aa0-cba45c137a2a': 'pnu_two',
'1f1277e4-404e-62d2-9aa0-cba45c137a2a': 'pnu_three',
'1f127ecc-5848-61a4-9583-b1e01df3644f': 'pnu_four',
'1f127ece-f242-6d36-9583-b1e01df3644f': 'pnu_five',
'1f127ecf-a23e-6187-9583-b1e01df3644f': 'pnu_six',
'1f127ed0-47c5-6958-9583-b1e01df3644f': 'pnu_seven',
// 행정학과
'1f1277e1-ee95-6fd0-9aa0-cba45c137a2a': 'pnu_three',
// 미디어커뮤니케이션학과
'1f127ed0-47c5-6958-9583-b1e01df3644f': 'pnu_four',
// 문헌정보학과
'1f127ecf-a23e-6187-9583-b1e01df3644f': 'pnu_five',
// 사회복지학과
'1f1277e4-404e-62d2-9aa0-cba45c137a2a': 'pnu_six',
// 심리학과
'1f127ece-f242-6d36-9583-b1e01df3644f': 'pnu_seven',
// 학생회
'1f126985-3d35-65bf-9aa0-cba45c137a2a': 'pnu_eight',
};
Comment on lines 4 to 21
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

학과별 앨범 ID가 하드코딩된 문자열(UUID)로 사용되고 있어 가독성과 유지보수성이 떨어집니다. 이 ID들을 의미 있는 이름을 가진 상수로 추출하는 것을 권장합니다.

예를 들어, 다음과 같이 리팩토링할 수 있습니다:

const PNU_DEPARTMENT_IDS = {
  // 사회학과
  SOCIOLOGY: '1f127ecc-5848-61a4-9583-b1e01df3644f',
  // 정치외교학과
  POLITICAL_SCIENCE: '1f1277e3-75a6-64b1-9aa0-cba45c137a2a',
  // 행정학과
  PUBLIC_ADMINISTRATION: '1f1277e1-ee95-6fd0-9aa0-cba45c137a2a',
  // 미디어커뮤니케이션학과
  MEDIA_COMMUNICATION: '1f127ed0-47c5-6958-9583-b1e01df3644f',
  // 문헌정보학과
  LIBRARY_INFO_SCIENCE: '1f127ecf-a23e-6187-9583-b1e01df3644f',
  // 사회복지학과
  SOCIAL_WELFARE: '1f1277e4-404e-62d2-9aa0-cba45c137a2a',
  // 심리학과
  PSYCHOLOGY: '1f127ece-f242-6d36-9583-b1e01df3644f',
  // 학생회
  STUDENT_COUNCIL: '1f126985-3d35-65bf-9aa0-cba45c137a2a',
} as const;

const PNU_ALBUM_TEMPLATE_BY_ID: Readonly<Record<string, FourCutTemplateId>> = {
  [PNU_DEPARTMENT_IDS.SOCIOLOGY]: 'pnu_one',
  [PNU_DEPARTMENT_IDS.POLITICAL_SCIENCE]: 'pnu_two',
  [PNU_DEPARTMENT_IDS.PUBLIC_ADMINISTRATION]: 'pnu_three',
  [PNU_DEPARTMENT_IDS.MEDIA_COMMUNICATION]: 'pnu_four',
  [PNU_DEPARTMENT_IDS.LIBRARY_INFO_SCIENCE]: 'pnu_five',
  [PNU_DEPARTMENT_IDS.SOCIAL_WELFARE]: 'pnu_six',
  [PNU_DEPARTMENT_IDS.PSYCHOLOGY]: 'pnu_seven',
  [PNU_DEPARTMENT_IDS.STUDENT_COUNCIL]: 'pnu_eight',
};

이렇게 변경하면 코드의 의도가 더 명확해지고, ID 변경 시 한 곳만 수정하면 되므로 유지보수가 용이해집니다.


Expand Down
Loading