안녕하세요.
로 타입을 쓰는 팀원에게 어떻게 제네릭을 쓰자고 잘 설득할지 고민입니다.
20년, 10년 전의 레거시 코드를 유지보수하고 있습니다.
현재 사용중인 JDK는 1.6인데요. 그러면 객체 생성 시 할당하는 곳에서 생략하는 건 못해도 제네릭 자체는 쓸 수 있잖아요.
로 타입은 기본이요, 제네릭을 List<Map> 까지만 쓴다거나, 아예 그냥 자료구조를 따로 만들어서(?) 사용하더라고요.
그래서 최근에 제네릭을 쭉 여러 서적과 강의를 보면서 공부하고 있긴 한데, 거대한 레거시 코드라 한 번에 고칠 수는 없고... 그렇다고 팀원에게 강요하는 건 그릇된 개선이라고 봅니다.
어떻게 하면 제네릭을 잘 도입할 수 있을까요? 제가 공부를 정말~ 많이 하는 방법밖에 없는 걸까요?
제네릭 한 번 쓰면 코드의 양이 확 줄텐데 말이죠...그러면 유지보수도 편해지고 좋을텐데...🥺
안녕하세요. Bruce Han님, 공식 서포터즈 OMG입니다.
혼자서 유지보수를 담당하는 프로젝트가 아닌 상황에서 자바 버전을 올리거나, 새로운 기술을 도입함에 있어 그 기술에 대한 도입을 주장하는 사람이 해당 기술에 대해 많은 지식을 알아야 된다고 생각합니다.
섣부르게 도입했다 문제가 발생한다면, 그 문제에 대한 리스크 감당을 1차로 할 사람은 당사자에 있기 때문에 도입하려는 기술에 대한 지식과 같이 프로젝트를 담당하는 동료에게 해당 기술에 대한 지식을 전파해야하는 의무가 있어야 된다 생각합니다.
혼자서 유지보수를 담당하고, 기술 도입에 대한 리스크가 적거나 부담이 없는 상황이라면 상관없겠지만, 그렇지 않은 상황이라면 기술의 도입과 버전업은 신중하게 결정하시길 바랍니다.
같이 유지보수를 하는 인원이 소수여서 기술의 전파가 쉬운 상황이라면,
먼저 한번 제네릭을 도입하여 코드양이 줄어들고 편리함을 공유하는 과정이 있으면 의견을 전달하고 필요성을 공유하는 것에 있어 좋은 방법이라 생각합니다.
감사합니다.
답글
OMG
2024.06.18그리고 동료들이 새로운 기술 혹은 잘 사용하지 않았던 기술에 대한 도입에 있어 열려있는 마인드인지 파악해 보는 것도 좋은 방법이라 생각합니다.
Bruce Han
2024.06.19답변 채택이 따로 없어서 일단 고민이 해결되었다는 말씀 드립니다.
조급해 할 필요 없이 먼저 꾸준히 지식을 습득해보고, 여러 번의 학습 끝에 설명할 수 있는 단계에 이르렀을 때 동료에게 제네릭 도입에 대해 슬쩍 얘기해봐야겠습니다.
상세한 답변 감사드립니다. 소프트 스킬에 대한 가치관도 정리가 되네요.