fender
21k
2017-02-13 12:58:24 작성 2017-02-13 13:10:19 수정됨
4
2727

외부 라이브러리 구조를 쉽게 파악하는 방법에 대한 간단한 조언


너무 자주하는 이야기라 지겨우실지 모르지만, 이상하게 우리나라에서는 객체 지향적으로 개발하는 프로젝트나 그런 기술을 가르치는 학원을 접하기 어렵습니다.

그러다보니 특히 초보 개발자들이 안좋은 습관이 들어서 스프링 같은 프레임워크나 다른 외부 라이브러리의 구조를 쉽게 파악하는데 어려움을 겪는 것 같습니다.

관련해서 딱 한 가지 조언을 드리자면, 무엇보다 API 문서를 읽는 습관을 들여야 한다는 것입니다. 그리고 API를 파악할 때는 가능하면 큰 단위부터 보는 것이 더 효율적이라는 말씀을 드리고 싶습니다.

보통 초보 개발자들은 API를 잘 보지 않고 복사 붙여넣기 할 수 있는 예제부터 찾는 경우가 많고, 라이브러리를 뜯어보더라도 특정 메서드의 소스를 열어보거나 API에서 특정 메서드에 대한 설명만 단편적으로 읽고 넘어가는 일이 많습니다.

다른 라이브러리의 구조를 쉽게 파악하기 위해서는 정확하게 반대로 습관이 되어야 합니다. 즉, 어떤 새로운 기술을 접하면 예제 이전에 개념을 먼저 보고, API를 볼 때는 메서드가 아니라 어떤 패키지가 있고 어떤  유형이 있는지, 그리고 어떤 유형을 보면 해당 유형이 어떤 계층 구조를 가지고 있는지, 그리고 마지막에 해당 유형이 어떤 메서드를 상속하거나 추가로 정의하는지 파악하는 순서로 보다 추상적이고 상위 개념부터 더 구체적인 하위 개념으로 내려가는 것이 좋습니다.

어떤 복잡한 구조를 파악하기 위해선 우선 큰 단위의 구조가 어떻게 엮여 있는지, 또 왜 그렇게 구성되었는지를 파악하면 세세한 내용은 쓰다보면 자연스럽게 알게 되어 있습니다.

그렇게 해서 복잡한 개념을 쉽게 이해하고 구현하기 위한 방법론이 객체지향적 설계인데, 여기에 익숙하지 않다면 보통 소스 코드의 구문 단위에 시각이 좁혀져 있는 경우가 많습니다.

이런 경우 외부 라이브러리를 파악하라고 하면 소스부터 열어보거나, 아니면 프레임워크를 계층 구조로 파악하기 보단 어떤 거대한 '함수'의 묶음 정도로 이해하는 경향이 있습니다.

특히 막 개발을 시작하는 분들이라면 디자인 패턴 같은 걸 바로 공부하겠다고 따로 시간을 내서 이론을 익히는 것보다는 사용하는 프레임워크나 라이브러리의 API 문서를 최대한 추상적인 내용부터 탑다운으로 읽어내려가는 연습을 하는 것 만으로도 상당한 실력 향상을 기대할 수 있다고 봅니다.

9
  • 댓글 4

  • KFN8GI9
    62
    2017-02-13 13:07:32

    오..좋은말씀 감사합니다

  • John84
    2k
    2017-02-13 13:13:48

    저의 경우 외부라이브러리 사용할 때 보는것 중 하나가 패키지 리스트, 클래스 리스트 입니다

    클래스명과 패키지명만 봐도 이 라이브러리가 어떤 기능을 하고 있는지 대충은 감이 오죠

    코드레벨의 분석은...해당 라이브러리를 커스텀 해야 할 정도의 작업아니면 굳이 안합니다 

  • 최첨단
    1k
    2017-02-13 13:24:37

    스프링 개발자 중에서 제대로 원리를 설명해주는 스프링 책  정독한 사람은 드문것 같습니다. 대부분 경험과 검색으로 코드를 작성하거나 기존 프로젝트를 복붙 해서 새로 프로젝트를 만드는 경우도 많이 봤습니다.

    IT 국비 지원은 좋은것 같습니다. 그런데 기초 교육 없이 테크닉 중심으로 개발자 양성하는건 아닌듯 하네요.

  • 카라
    2k
    2017-02-13 13:27:24

    뜨끔.. 

  • 로그인을 하시면 댓글을 등록할 수 있습니다.