Rails의 concern은 만병통치약인가, 아니면 어떤 대가를 치르더라도 피해야하나?
애플리케이션이 커짐에 따라 여러 도메인에 걸쳐있는 비즈니스 로직이 생겨나게 된다. 또한 DB에 접하다보면 트랜잭션 경계를 지어줘야할 일도 생긴다. 이런 로직을 어디서 관리해야할까?
우리는 리팩토링 기법등을 배우며 오래된 코드베이스를 좀 더 읽기 좋고 변화하기 쉽도록 다시 고쳐쓴다. Django 코드를 예시로 들어 살펴보자.
다른 현대적인 함수형 언어에 비해 파이썬은 문법이 아름답지 못하다. 순회하며 어떤 값을 찾아 일치하는 첫번째 요소를 반환하는 경우를 생각해보라. 값보다는 루프에 초점이 맞추어진 코드가 탄생하고 만다. 그러면, 이걸 어떻게 개선할 수 있을까?