도메인기준 네이밍 vs 기능의 과정 기준 네이밍

의문:
하나의 기능이 실행될때,
동작하는 해당 과정(메서드나 변수 등등)의 역할 중심으로 네이밍을 해야할까?
아니면 철저하게 해당 과정이 하는 일을 기준으로 네이밍을 해야 할까?
박제하기 위해 캡쳐 했다.
기획했던 필수기능을 컨트롤러에 나열 했다
프론트에서 인자를 담아 요청하면 실행된다
주요 기능은 파싱, 유튜브api 요청, DB 저장 이다
저장후 바로 메인페이지로 리다이랙트 시킬지
비동기 컨트롤러를 추가해
고정 페이지에서 유효 url 통과 응답을 목업으로 출력후
사용자의 의지에 의해 패이지이동을 시킬지
이 선택사항은 기능을 구현 하고난뒤 생각할 문제다
본론:
짧은 네이밍이 좋다고 생각했었는데
딱봤을때 기능을 이해할수있는 이름을 지으려면
n개의 간단한 단어를 조합하는것이 좋다고 생각한다
요즘 고민은 그 조합을 하는 방법에 대해서 이다
파싱하는 메서드이기 때문에 parser라는 단어를 사용한 youtubeLinkParser() 는
컨트롤러메서드와 겹치기때문에, 그리고
파싱만 하는것이 아니라 DB에 저장도 해야하기때문에
메서드명을 변경하고있었다
본론에서 설명한 2가지 생각대로 네이밍을 해보면
기능의 과정을 생각해서 네이밍(어떤 과정인지를 파악하는것을 우선으로)
saveYoutubeLink()
saveLink()
기능의 역할 중심으로 네이밍(어떤 역할인지 파악하는것을 우선으로)
saveYoutMetaDataByYoutLink() or
saveMetaDataByLink()
캡쳐에서 수정이필요한 컨트롤러메서드는 하나의 기능을 온전히 실행하는 큰 개념의 메서드이기때문에
두가지 방법이 유사해보인다고 생각할수도 있다
극단적으로 생각해보면
String videoId 같은 경우
String parsedParameter 여야 한다
왜냐 하면 해당 변수는 파싱되고 바로 YoutubeDataAPI 에 파라미터로 한번만 사용된뒤 버려지기때문이다
내가 어떠한 그룹에 속해 컨벤션이 맞춰져있는곳에 참가 하게 된다면 이런 고민 안하겠지만
언젠가 같이 규칙을 만들어가야 할때 도움이 되지않을까 생각한다
서비스를 구현 하다가 필요하면 더 수정이 있을수 있지만
지금은 saveMetaDataWithParse() > parseAndSaveMetaData()
로 수정 했다