글쎄...<br>개발자 마인드라는 것이 맞는건지 모르겠네요...<br><br>현 개발 십 수년차...<br><br>시스템 프로그램 하다가 모바일도 하다가 지금은 웹 서버 백엔드 개발자...<br>여러 분야 개발하면서 접해온 언어 및 툴도 재각각이지만 나름 그 환경에서 규칙(원칙)을 세우고 착실히 개발 했다고 자부한다.(주관적으로이지만)<br><br>현 작은 회사에 팀원 하나 있음.<br>이제 그 팀원 이야기를 해 볼까함.<br><br>그 팀원 열심히 일하고 코딩도 그럭 저럭 함.<br><br>다만 주석을 달지 않음.<br>나: 주석 왜 안달아? <br>사원 : 이 함수 이름만 봐도 딱 알 수 있잖아요. 뭘 더 이상 달아요~! <br>나: 그래. 함수 이름 기능별로 표현하는거 좋아. 그래도 한글로 설명 달면 다른 사람이 보기에 더 빨리 볼 수 있지 않을까?<br>사원 : 그냥 봐도 아는데~( 투덜거리며 몇 문장 안되는 주석 달음)<br><br>내가 다그칠때만 주석 달음. 딴 소스는 안건들임.<br><br><br>특성 상태값은 enum을 사용하지 않고 int만 쓰려 함.<br>나: 왜 enum을 사용하지 않니?<br>사원: 저 enum은 잘 모르겠어요. 그리고 mapper에서 enum쓰기 불편하잖아요.<br>나: 그래도 이런 값은 enum을 써야 명확하고 편해.<br>사원: 저는 이게 편한데요. <br>나: 너 혼자 하는 프로잭트가 아니잖아. enum으로 정의해서 사용해~<br>사원: 알았어요~ 아 정말 귀찮은데. 팀장님 다음번엔 그냥 int 쓰면 안되요?<br>나: 안돼~!<br><br><br>String 변수 겁나 좋아라 함. 왜? 숫자형이든 날짜 값이든 뭐든 담아 낼 수 있으니까.<br>나: 여기 왜 String 썼니?<br>사원 : 여기 무슨 값이 넘어올지 몰라서요.<br>나: 그냥 봐도 여긴 int값이 넘어올 부분이잖아. front 레벨에서 int 값 기본으로 넣으면 될 것 같은데.<br>사원 : 그걸 언제 다 찾아서 해요. 그건 퍼블리셔 일이잖아요. 안 그래도 지금 400 에러 나는데. 그냥 Sting으로 쓸래요.<br>나: ...(딥빡!)<br><br><br>상속 싫어함.<br>나: 이런 클래스는 각 서비스 별로 중복된느 내용이잖아. 이럴 경우 Interface 로 함수 정의해 놓고 추상 만들어서 뼈대 구성하고 그거 상속 받아 만들면 좋을 것 같아.<br>사원: 네. 잘 모르겠지만 그렇게 할께요.<br>...(잠시후)<br>사원: 팀장님 다 했어요. 좀 봐주세요.<br>나: 응.~. 사원아 여긴 왜 추상함수를 이렇게 썼니? 이렇게 하면 이 함수가 기능적으로 중복 되잖아. 내가 보기엔 두군데나 있을 필요가 없어 보이는데.<br>사원: 저는 상속 받아서 바로 추상함수가 나오는게 좋아요. 안쓰면 null 리턴하게 내버려 두면 되잖아요. <br>나: 내가 보기엔 필요할 때만 상속 받는게 낫아 보이는데.<br>사원: 전 상속 받는게 싫은데요. 소스 찾아 보기도 어렵고. 이것 보세요. 얼마나 직관적이에요.<br>나: 이런 함수는 기능 적으로 중복 되니까 상속 받는게 맞아. 불필요한 추상 함수는 없애는게 맞고.<br><br><br>...<br><br>뭐 이런 것 말고 더 애피소드가 있지만 <br>쫌. 아~~~~ <br>짬뽕 백만그릇....<br><br>개발자라면 <br>소스 간결하게 만들고,<br>불필요한 로직 빼고,<br>중복 되는 소스 없애고,<br>정의 명확하게 하고,<br>테스트 열심히 하고,<br>주석 잘 달고,<br>메모리 효율 좀 생각하고,<br>cpu 좀 생각해 주고,<br>나중에 수정할 사람 생각도 해 주고,<br>새로 나온 기술 공부도 하고,<br>그 기술 남과 공유도 하고,<br>...고!<br><br>그래야 하는 것 아닌가? <br><br>답답한 마음에 프로그래머 게시판에 적을까 하다가 걍 여기에 푸념글 적네요....<br><br>아~ 쫌 시원타~<br><br>쓸데없는 글 읽어 주셔서 감사합니다.<br>