본문 바로가기
반응형

전체 글163

[Clean Code] 3. 주석 주석은 코드만으로는 부족한 설명을 덧붙이기 위해 작성한다. 그러나 우리는 주석으로 코드를 설명하기보다는 코드 자체에 의미를 담아야 한다. 주석이 필요 없는 코드가 가장 좋겠지만, 주석 중에서도 좋은 주석과 나쁜 주석의 종류에 대해 알아보자. 주석의 의미 주석은 순수하게 선하지 못하다. 기껏해야 필요악이다. 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 수 있다면 주석은 전혀 필요하지 않을 것이다. 우리는 코드로 의도를 표현하지 못해서, 실패를 만회하기 위해 주석을 사용하므로 주석은 언제나 실패를 의미한다. 주석은 오래될수록 코드에서 멀어진다. 프로그래머들이 주석을 유지 보수하기는 어렵기 때문이다. 코드가 변화하고 진화하면서 주석은 여기저기로 옮겨지기도, 갈라지고 합쳐지기도 하면서 코드를 따라가지 못한다.. 2021. 9. 2.
[Spring] AOP 프로그래밍(3) - 스프링에서의 프록시 생성 방식 AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 스프링에서는 프록시 객체를 자동으로 만들어 공통 기능을 삽입하는데, 이때 프록시 객체를 어떻게 만드는지 살펴보자. 스프링에서 프록시가 생성되는 방식 스프링은 AOP를 위한 프록시 객체를 생성할 때 빈 객체가 인터페이스를 상속한다면 해당 인터페이스를 이용해서 프록시를 생성한다. 아래 그림처럼 프록시와 빈 대상 클래스가 하나의 인터페이스를 상속받는 관계인 것이다. Calculator cal = ctx.getBean("calculator", Calculator.class); // 정상 동작 RecCalculator cal = ctx.getBean("calculator", RecCalculator.class).. 2021. 9. 1.
[Clean Code] 2. 함수 길이가 길고 중복이 많으며 괴상한 문자열과 낯설고 모호한 자료 유형 및 API로 이루어진 코드는 쉽게 이해하기 어렵다. 메서드 몇 개를 추출하고 이름 몇 개를 변경하고 구조를 조금 바꾸면 훨씬 이해하기 쉬운 코드가 된다. 이번 포스트에서는 함수를 잘 짜는 법에 대해 알아볼 것이다. 읽고 이해하기 쉬운 함수 만들기 다양한 규칙을 통해 길고 복잡한 함수를 짧고 이해하기 쉬운 함수로 만들어보자. 함수를 작게 만들어라 함수가 작을수록 더 좋다는 증거나 자료를 제시하기는 어렵지만 작은 함수가 좋다고 확신한다. 함수는 재사용 측면뿐 아니라 가독성 측면에서도 작은 단위로 나누는 것이 좋다. 그럼 함수는 얼마나 짧아야 할까? 일반적으로 함수가 한 화면을 넘어가면 안 된다. 요즘은 화면이 크기 때문에 글자가 많이 들어갈.. 2021. 8. 24.
[Spring] AOP 프로그래밍(2) - 스프링에서의 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 스프링에서는 프록시 객체를 자동으로 만들어주며 공통 기능을 삽입하는데, 여기서 공통 기능을 Aspect라고 한다. 따라서 공통 기능을 구현한 클래스만 알맞게 구현하면 된다. 스프링과 AOP 이전 포스트에서는 프록시의 개념과 AOP와의 관계에 대해 알아보았다. 이번 포스트에서는 스프링에서 실제로 AOP가 어떻게 적용되는지 알아볼 것이다. [Spring] AOP 프로그래밍(1) - 프록시와 AOP AOP는 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. 핵심 기능에 공통 기능을 삽입하여 핵심 기능의 코드를 수정하지 않고도 공통 기능의 dct-wonjung.ti.. 2021. 8. 12.
반응형