이떄 메소드에서 이걸 비교해서 비었으면 null을 리턴할지 아니면 빈 리스트를 리턴할지 고민임.
후자가 좋을거 같긴한데 어떰?
댓글 39
Optional
익명(223.62)2021-04-09 10:48
Option
익명(223.62)2021-04-09 10:48
Maybe
익명(223.62)2021-04-09 10:48
null-safe한 코틀린을
익명(azubaiya)2021-04-09 10:55
널을 죽이자
익명(39.7)2021-04-09 10:57
난 NULL을 사랑해
이 세상은 NULL뿐이야
소리쳐 부르지만
저 대답 없는 NULL만 붉게 타는데
#!(mrphys)2021-04-09 11:08
답글
binary는 호남선
ㅁㅁ(61.253)2021-04-09 11:17
답글
아니 더한 인간이 나타났다
#!(mrphys)2021-04-09 11:18
답글
binary 뭔가 했네 ㅋㅋㅋㅋㅋㅋ
갤6(223.39)2021-04-09 12:25
답글
Forge(dcforge)2021-04-09 13:15
무슨 언어인지는 모르겠지만 널보다 빈리스트 리턴하는게 더 위험한데
익명(116.121)2021-04-09 11:08
답글
이유가 머임?
ㅁㅁ(61.253)2021-04-09 11:17
답글
메모리 프레그먼트, 세이프 문제. c/c++ 기준으로 널은 나쁜게 아님
익명(116.121)2021-04-09 11:39
답글
c계열은 그렇겠네
ㅁㅁ(61.253)2021-04-09 12:31
빈리스트가 낫지 null 체크 위험한거임
익명(59.13)2021-04-09 11:33
위에말대로 Option이든 뭐든 explicit한 bool값으로 결과값이 없다는 정보를 따로 return해 주는게 좋다고 봐. 그 필드가 채워졌을때 리스트쪽을 empty list/static null object로 하는가 null로 하는가는 취향대로 하더라도..
ns(qwer2357)2021-04-09 11:44
그냥 예외 처리를 어디서 할지 문제임. 데이터가 없는 케이스를 저 메서드 안에서 처리하고 끝내버릴꺼면 빈 리스트 리턴하는거면 되고, 호출하는 쪽에서 데이터가 없을때 별도의 처리를 하고싶으면 optional이나 null써야 하고.
다믜(damhiya)2021-04-09 11:54
C++기준, 저 같으면 리턴값으로 true false주겟셈 그리고 함수 인자에 포인터든 레퍼런스 붙여서 여기에 값을 넣어서 빼오겟셈
전붕이1(crmerry0409)2021-04-09 11:57
답글
그러면 코드가 좀 더러워보이던데
갤6(223.39)2021-04-09 12:27
답글
전 이렇게 하는 습관을 들여서
전붕이1(crmerry0409)2021-04-09 12:59
답글
이거 tryGet 이런패턴 아님? - dc App
Forge(dcforge)2021-04-09 13:11
답글
이건 너무 C스타일인데
휘발성(reduxx)2021-04-09 15:26
답글
C는 근본이로다
전붕이1(crmerry0409)2021-04-09 15:42
아예 반환으로 객체를 넘기지 말고 destination 인자를 받아라. C/C++ 에서 객체를 반환으로 넘기는 거 뭐 취향차이겠지만 개인적으로 안 좋다고 생각함
익명(175.223)2021-04-09 11:58
답글
잘못 말했는데 C는 진짜 웬만하면 객체 생성해서 넘기는 거 하면 안 됨
익명(175.223)2021-04-09 11:59
list comprehension 쓸때 nil로 하는게 코드가 매우 깔끔해지는 경우 있어서 가끔 쓰고 런타임 에러띄우고 싶진않은데 받는쪽에서 처리할거면 options쓰고 정말 짜는 사람 마음이지. c/c++면 null이나 -1쓰는거고 대신 인터페이스 주석 잘남기고 일관되게해야 본인이 안헷갈림.
익명(218.234)2021-04-09 12:19
난 null 좋아함
익명(128.134)2021-04-09 12:37
null이 빈 리스트랑 구별이 안 되는 언어면 그렇게 쓰고
구별을 하는 언어면 데이터를 읽다가 문제가 생겼을때 null
데이터를 읽었는데 그게 비어있는 경우면 빈 리스트
익명(223.38)2021-04-09 13:01
난 무조건 null 최악으로 봄 - dc App
Forge(dcforge)2021-04-09 13:07
답글
널익셉션뜨면 디버깅 힘들고, 널체킹 맨날 해야하고 패러매터로 넘어오는 값이 널이 아니다라는걸 믿지 못해서 엄청나게 힘들어짐 - dc App
Forge(dcforge)2021-04-09 13:07
답글
자바같은건 어노테이션으로 정리할수있긴한데 그냥 타입스크립트나, optional, C# nullable 같은거 사용하는게 옳다고 봄 - dc App
Forge(dcforge)2021-04-09 13:08
답글
"any"
익명(61.84)2021-04-09 13:30
답글
그래도 따로 에러처리 없는 없어는 null 써야 될거 같음
ㅁㅁ(61.253)2021-04-09 13:47
답글
으아악 any는 안된다 - dc App
Forge(dcforge)2021-04-09 14:42
결과값이 없는 건 빈 리스트지, 도중에 문제가 생겼을 때는 null
익명(125.129)2021-04-09 13:55
언어마다 다르다 이거
츄럴(164.125)2021-04-09 15:26
흔하게는 optonal 쓰는 거 같은데
근로저나 리슾처럼 nil이고 빈 리스트고 비슷하게 처리하면 아무래도 상관 없기도 하고
츄럴(164.125)2021-04-09 15:26
근데 이경우는 시맨틱을 봤을 때 빈 리스트가 더 말이 되는 거 같음. 씨 씨플플 같은 인생이 힘들어지는 언어 아니면 걍 빈 리스트 쓰셈
츄럴(164.125)2021-04-09 15:27
결과를 가져오는데서 에러가 나서 없는거면 null 걍 쿼리에 대한 결과값이 없는거면 빈리스트가 깔끔할거같은데 언어따라 다를듯
Optional
Option
Maybe
null-safe한 코틀린을
널을 죽이자
난 NULL을 사랑해 이 세상은 NULL뿐이야 소리쳐 부르지만 저 대답 없는 NULL만 붉게 타는데
binary는 호남선
아니 더한 인간이 나타났다
binary 뭔가 했네 ㅋㅋㅋㅋㅋㅋ
무슨 언어인지는 모르겠지만 널보다 빈리스트 리턴하는게 더 위험한데
이유가 머임?
메모리 프레그먼트, 세이프 문제. c/c++ 기준으로 널은 나쁜게 아님
c계열은 그렇겠네
빈리스트가 낫지 null 체크 위험한거임
위에말대로 Option이든 뭐든 explicit한 bool값으로 결과값이 없다는 정보를 따로 return해 주는게 좋다고 봐. 그 필드가 채워졌을때 리스트쪽을 empty list/static null object로 하는가 null로 하는가는 취향대로 하더라도..
그냥 예외 처리를 어디서 할지 문제임. 데이터가 없는 케이스를 저 메서드 안에서 처리하고 끝내버릴꺼면 빈 리스트 리턴하는거면 되고, 호출하는 쪽에서 데이터가 없을때 별도의 처리를 하고싶으면 optional이나 null써야 하고.
C++기준, 저 같으면 리턴값으로 true false주겟셈 그리고 함수 인자에 포인터든 레퍼런스 붙여서 여기에 값을 넣어서 빼오겟셈
그러면 코드가 좀 더러워보이던데
전 이렇게 하는 습관을 들여서
이거 tryGet 이런패턴 아님? - dc App
이건 너무 C스타일인데
C는 근본이로다
아예 반환으로 객체를 넘기지 말고 destination 인자를 받아라. C/C++ 에서 객체를 반환으로 넘기는 거 뭐 취향차이겠지만 개인적으로 안 좋다고 생각함
잘못 말했는데 C는 진짜 웬만하면 객체 생성해서 넘기는 거 하면 안 됨
list comprehension 쓸때 nil로 하는게 코드가 매우 깔끔해지는 경우 있어서 가끔 쓰고 런타임 에러띄우고 싶진않은데 받는쪽에서 처리할거면 options쓰고 정말 짜는 사람 마음이지. c/c++면 null이나 -1쓰는거고 대신 인터페이스 주석 잘남기고 일관되게해야 본인이 안헷갈림.
난 null 좋아함
null이 빈 리스트랑 구별이 안 되는 언어면 그렇게 쓰고 구별을 하는 언어면 데이터를 읽다가 문제가 생겼을때 null 데이터를 읽었는데 그게 비어있는 경우면 빈 리스트
난 무조건 null 최악으로 봄 - dc App
널익셉션뜨면 디버깅 힘들고, 널체킹 맨날 해야하고 패러매터로 넘어오는 값이 널이 아니다라는걸 믿지 못해서 엄청나게 힘들어짐 - dc App
자바같은건 어노테이션으로 정리할수있긴한데 그냥 타입스크립트나, optional, C# nullable 같은거 사용하는게 옳다고 봄 - dc App
"any"
그래도 따로 에러처리 없는 없어는 null 써야 될거 같음
으아악 any는 안된다 - dc App
결과값이 없는 건 빈 리스트지, 도중에 문제가 생겼을 때는 null
언어마다 다르다 이거
흔하게는 optonal 쓰는 거 같은데 근로저나 리슾처럼 nil이고 빈 리스트고 비슷하게 처리하면 아무래도 상관 없기도 하고
근데 이경우는 시맨틱을 봤을 때 빈 리스트가 더 말이 되는 거 같음. 씨 씨플플 같은 인생이 힘들어지는 언어 아니면 걍 빈 리스트 쓰셈
결과를 가져오는데서 에러가 나서 없는거면 null 걍 쿼리에 대한 결과값이 없는거면 빈리스트가 깔끔할거같은데 언어따라 다를듯