PS에서는 접근 방식/구현 등이 틀렸다/맞았다의 개념은 있지만 사실상 그게 전부고

나머지 상황에서는 생각보다 뭐가 맞고 뭐가 틀렸다를 단정짓기가 매우 힘듦


그렇기 때문에 코드리뷰는 물론 백준 커뮤니티에서 다른 사람의 코드에 대해 피드백을 해줄때는 질문자에게 왜 그렇게 코드를 짰는지 보통 이유를 묻지, 내 말이 맞다고 무조건 이렇게 해야 합니다라고 하지는 않음.

코드 관련해서 리뷰할 때 "."(마침표)보다는 "?"(물음표)를 찍는 것도 그 이유라고 볼 수 있을듯


아무리 겉으로는 쓰레기같은 코드로 보이더라도 질문자와 그 코드에 대해서 생각을 묻고 몇 마디를 나누다 보면


"아, 지금 상황에서는 이렇게 코드를 짤 수밖에 없었겠구나"

"아, 적어도 질문자는 이러한 의도를 가지고 코드를 짜려 했구나"

"질문자는 다른 방법을 이미 알고 있지만 이 방법을 시도해 보고 싶었구나"


와 같이 질문자의 생각과 의도를 알게 되니, 경우에 따라 쓰레기 코드로 보였던 코드가 사실은 굉장히 좋은 해결책이라는 걸 깨달을 수도 있고, 질문자의 의도를 존중하면서 더 좋아보이는 해결 방법이 보이면 그걸 추천할 수 있는거임


이 사실을 알기에,

무조건


"이렇게 해야 합니다"

"그 방법은 안 좋은 방법입니다"

"고치세요"


와 같이 단정짓는 의견이나 코멘트는

답변받는 입장에서도, 단순히 보는 입장에서도

기분나쁠 수밖에 없는거지


...하나의 문제를 해결하는 방법은 엄청나게 많은데 자기 말이 무조건 맞다고 생각하니까


질문/답변 게시판에서든 깃허브 코드리뷰에서든 의견을 나누는 자리에서는 대부분 통하는 논리라고 볼 수 있을듯