Replies: 5 comments 1 reply
-
타입힌트 사용 목적가독성 개선 및 IDE 기능 보완을 목적으로 우리 코드에서 타입 힌트를 사용 중입니다. 이는 다음 상황에 근거합니다.
⭐ 타입힌트 적용 기준 및 예시아래 두 수준 사이에서 타입힌트를 붙이고 있습니다. 모범 사례 코드 링크를 첨부합니다.
주요 사용 시점은 다음과 같습니다. (생각나면 더 추가하겠습니다.) 함수의 매개변수와 반환값에는 반드시 타입힌트 사용나중에 원소를 채우기 위해 미리 정의하는 딕셔너리나 리스트
def validate_advertisement_body(cls, body: str):
"""광고성 앱 푸시의 본문을 검증합니다."""
errors: list[InvalidAppPushText] = []
if not body.startswith('(광고)'):
errors.append(InvalidAppPushText('광고성 앱 푸시의 본문은 "(광고)"로 시작해야 합니다.'))
if not body.endswith(INDICATION_OF_REJECTING_AD_APP_PUSH):
errors.append(InvalidAppPushText(f'광고성 앱 푸시의 본문은 "{INDICATION_OF_REJECTING_AD_APP_PUSH}"으로 끝나야 합니다.'))
if errors:
raise InvalidAppPushText(errors) 다른 함수를 호출하여 반환된 값을 저장하는 지역 변수에는 타입힌트 사용daily_payment_stat: DailyPayment = stat_maker.make_daily_payment_stat() IDE에서 타입을 유추하지 못하는 경우Django에서 related_name을 통한 OneToOneField 역참조my_schedule: Schedule = deal.expected_schedule 테스트 코드에서 Factory 객체 생성test_deal: Deal = DealFactory() |
Beta Was this translation helpful? Give feedback.
-
의견 나누기정적 타입 검사기 도입 불가 이유
타입을 쓰지 않은 코드를 소급하여 검사하진 않게 설정 가능하나, 자동 추론 오류는 해결이 필요합니다. @cbscsm @Kirade @donghyun0218 의견 모으기타입힌트의 목적?
타입힌트의 범위?
정책
|
Beta Was this translation helpful? Give feedback.
-
#59 에서 가이드 반영 |
Beta Was this translation helpful? Give feedback.
-
테스트 코드 Fixture의 타입힌트✅ Fixture에는 타입힌트를 적지 않는다.
|
Beta Was this translation helpful? Give feedback.
-
스타일 가이드의 타입힌트 규정 논의✅ 일단 스타일 가이드 규칙을 개정하고, 타입힌트 활용은 자율에 맡기자.
|
Beta Was this translation helpful? Give feedback.
-
이전 논의에서 타입 힌트에 대해서 어떻게 생각하는지 논의를 진행한적이 있습니다.
#18
최근에 많은 분들이 타입힌팅을 활용해주시기 시작했는데요.
기존에 코드들이 타입힌트가 있지 않다보니, 현재 저희 코드들에 듬성듬성 타입힌팅을 사용하고 있고 저마다 타입힌트를 활용하는 범위 같은것들이 달라서 코드 스타일의 일관성이 떨어져가고 있는 것으로 보입니다. 일관성이 없는 코드는 가독성을 떨어트려 저희의 생산성에 영향을 주는 부분이라고 생각합니다.
개인적으로는 타입 힌트는 클래스나 함수의 매개변수 반환값 등을 정도를 표기하는 방식으로 가볍게 사용하고 있는데요.
다른분들은 어떤 수준으로 사용하고 계신지도 궁금하고, 어떤 방식을 저희 코드의 규칙으로 만들면 좋을지 의견을 부탁드립니다.
Beta Was this translation helpful? Give feedback.
All reactions