1. Facts(사실, 객관)
- 회사 프로젝트 로그인 개선
2. Feelings(느낌, 주관)
오늘은 회사 코드 중에서 로그인을 중심으로 개선했습니다. 로그인은 단순히 아이디, 비밀번호 입력을 비교하지 않고 다양한 상황을 검사합니다. 30일 이상 미접속, 비정상 접근, 로그인 패스워드 5회 이상 오류, 계정삭제 상태 등등이 있습니다. 따라서, 해당 경우를 모두 검사해야하고 로그인 검사 전용 추상클래스를 만들어 각 경우 상속받아 구현하도록 했습니다. 그렇게 로그인 검사는 각 클래스를 new로 생성한 인스턴스 객체로 만들었습니다.
3. Findings (배운 점)
객체지향설계는 내가 원하는 정보를 다른 객체한테 물어서 얻어내는 것이 아니라, 그냥 내 정보를 다른 객체에게 넘겨주는 방식으로 가야한다. 위임한다고 표현한다. 어떻게 로직이 구성되어있는지 전혀 고민할 필요없이, 객체에게 내가 원하는 것을 요청하면 그만이다.
현재 new 인스턴스로 계속 로그인을 검사하고 실행하는데, 이것을 @Autowired로 개선하는 것이 필요하다고 느꼈다. 이 수많은 로그인 상태 검사를 어떻게하면 효과적으로 유지보수가 가능하도록 만들 수 있을지 고민이 된다.
4. Affirmation (자기 선언)
나는 유지보수하기 좋은 코드로 기존의 코드를 개선하기 위해 노력하는 사람이다.
반응형
'회고' 카테고리의 다른 글
TIL_210913 (0) | 2021.09.14 |
---|---|
TIL_210901 (0) | 2021.09.01 |
TIL_210830 (0) | 2021.09.01 |
TIL_210829 (0) | 2021.08.31 |
TIL_210828 (0) | 2021.08.29 |