코드를 작성하다보면 똑같은 형식의 코드를 의도적으로 사용해야 할 때가 많다. 대표적인 예를 들면 테스트 코드를 작성할 때가 그렇다. 다음과 같은 형태의 테스트가 대표적인 형태이다.
def test_탈퇴하면_알수없음_나와야함(self):
# given
Post.objects.create(
title="돌이킬 수 없는 걸음",
content="장화홍련",
author=self.user,
board=self.free,
is_anonymous=True,
)
self.user.soft_delete()
# when
p = Post.objects.last()
# then
assert p.author_nickname == "알수없음"
테스트 코드의 경우 given
, when
, then
을 명시해 준비 - 실행 - 검증이라는 코드의 흐름을 읽기 편하게 만든다. 하지만 일일이 이 코드를 치는 것은 불편한 일이다. 따라서 이 패턴을 template
으로 등록해놓고 사용하도록 하자.
위와 같이 Settings - Live Templates
에서 관리할 수 있다.
우선 축약어와 설명을 등록하도록 하자. 축약어로는 ttt
를 정했다.
template을 적용할 언어로는 Python
을 골랐다. 템플릿을 사용할 언어를 적당히 골라주도록 하자.
코드를 작성하고, 실제 내가 입력해야할 부분들을 $...$
로 감싸 변수로 만들자. 변수로 등록하면 여러 줄을 한 번에 쓸 수도 있고, Tab
을 눌러 다음 변수의 위치로 이동할 수 있다.
이제 위와 같이 미리 설정한 예약어인 ttt
를 이용해 위와 같이 템플릿을 이용해 편하게 코딩할 수 있다.