SOLID의 실질적인 내용은 Robert C. Martin이 처음 소개했는데, SOLID라는 약자는 Michael Flaters에 의해 나중에 소개되었다. SOLID는 개발자가 프로젝트를 만들 때 좋지 않은 코드를 만들지 않으면서 가독성을 높이고 테스트하기 쉬운 코드를 만들 수 있도록 하여 프로젝트의 개발, 유지보수 그리고 확장하기 쉽도록 개발하는 데 도움 되는 원칙들이다. S : 단일 책임 원칙(Single Responsibility Principle, SRP)하나의 클래스는 하나의 일만 해야 한다.즉, 하나의 클래스를 변경하는 이유 또한 하나여야 하는 것이다. 여러 일을 하나의 클래스에서 처리하도록 모아둔다면 여러 개발자가 협업할 때 각각의 개발자가 각각의 이유로 하나의 클래스를 동시에 수정하는 문제..
콜백 지옥( Callback Hell )이란 콜백이 하나 있을 때 그 콜백이 다른 콜백을 호출하고 호출된 콜백이 또 다른 콜백을 호출하는 방식의 콜백이 콜백을 호출하는 것이 꼬리를 물고 반복되는 안티 패턴을 뜻한다. 콜백 지옥에 대한 예시 Future.onComplete { case Success(_) => Future.onComplete { case Success(_) => Future.onComplete { case Success(_) => ... } } } 이러한 콜백 지옥은 코드를 추적하기가 어려워지고 리팩토링이나 유지보수가 힘들다는 단점을 가지고 있다. 스칼라의 Future를 통해 값을 얻은 후에 또 다른 Future에서 해당 값을 사용해야 할 때 콜백 지옥에 빠지게 되는데 이때 for comp..