[Android] Deprecated, Warning

thevlakk·2022년 3월 23일
0

Oh My Android

목록 보기
10/17
post-thumbnail

코드의 가로줄이나(deprecated)

오줌색의 네모난 블럭들

d
그냥 지나치기엔 뭔가 찜찜하고 가독성에 방해가 되어 바로바로 고치는 성격이라 한 번 모음집을 만들면 좋겠다는 생각이 들었다.

시작하기에 앞서 deprecated와 warning에 대해 간략히 설명하자면
1. Deprecated

개발자의 입맛에 맞게 네이버에 뜻이 나와있다. 안드로이드에서의 deprecated는 해당 API level에서부터 더 이상 지원과 유지보수를 안한다는 뜻이다. 손을 놓겠다는 뜻. 당장의 프로젝트에선 호환이 가능할지라도, 앞으로 계속 발전하여 높아지는 API level에서는 어떻게 될 지 모르기에 꾸준하게 앱을 상용화할 계획이라면 구글이 내놓은 새로운 기능으로 수정하거나 분기처리를 해야 할 부분이다. 물론 구글이 갑자기 맘에 안든다고 deprecated를 하지 않고 먼저 대안, 좀 더 개선된 기능을 만들어 놓기때문에 수정을 못할 경우는 없을거라고 본다.

근데 좀 웃긴게 있는데 지금 11인지 12버전부터인지 Toast메세지를 띄우면 메세지 우측에 아이콘이 생기도록 변경되었는데 이 아이콘은 다른 아이콘으로 설정을 못하게 해놨다.

요거ㅎ

기본 adaptive icon에서 변경을 못한다. 오기생겨서 이것저것 시도해서 바꾸긴 했는데 그냥 스낵바로 변경했다..
구글 문서에서도 snackbar쓰는건 어때효?라고 대놓고 나와있긴함.

2. warning (사실 99%는 뜻 알듯)

경고경고띠리리리리리~~
"너 코드 이렇게 쓰다간 어떠한 상황에서 에러날 수 있다."라고 알면 될 것 같다. 일반적인 경우에선 문제없이 앱이 구동하게 되겠지만, 예기치 못한 경우에서 원하지 않는 버그나 크래쉬가 발생할 수 있는 상황이라 컴파일단계에서 미리 알려준다. 예를 들면, 위 사진의 SimpleDateFormat의 경우 오줌이 나오는 이유는 두번째 파라미터로 해당 국가나 지역을 주입 안 해줘서 경고문이 뜬것이다. 일반적인 상황이면 앱을 국내에서만 사용하겠지만, 어쩌다 해외로 흘러가면 사용자마다 다른 날짜를 받게되어 버그가 날 수가 있다. 예로, 날짜를 받아와 파일명을 정하는 경우라면 국가간 사용자마다 파일명이 다르게 되어, 언젠가는 대박이 날 듯 하다.

아 추가로


이것들은 특별히 코드엔 문제가 없지만 바꾸는건 어때요?라고 권장하는 의미정도라 알면 되겠다.

첫번째는 메서드명이나 변수명 밑에 초록줄뜨는 경우가 있는데 저건 그냥 안스가 스펠링 맘에 안든다는 뜻이니 거슬리면 바꾸면 된다. 저렇게 한글을 소리 그대로 영어로 바꾸는 경우는 어쩔 수 없지만, 그 외 영단어에서 뜨는 경우는 스펠링이 틀린 경우가 많으니 네이버나 구글사전을 애용하면 되겠다. 나는 한쿡인이니까.

두번째는 코드에서 불필요한 요소들이 있으니 안스가 원하는걸로 바꾸는건 어때?라는 뜻이다. 주로 안쓰는 변수, 메서드나 람다형식에서 나오는데 그냥 커서를 가져가서 파란 문구를 클릭하면 알아서 바꿔주는데 코드양이 줄어들거나 코드스타일이 깔끔하게 되어서 하는걸 권장한다. 이 외에도 발광을 떠는 경우가 있다.

profile
Android Developer

0개의 댓글