코드를 읽을 때 우리 모델링 방법론

목표


  • 입사 직후 대규모 코드를 읽는 데 익숙하지 않은 분
  • 클래스도를 아는 분 (클래스, 상속을 알고 있으면 OK입니다)
  • 엄격한 방법보다 코드를 읽을 때 약간의 그림을 쓰는 방법을 알고 싶은 분

  • 소개



    나는 입사 2년째로, 옛부터 전해지는 Java 코드의 메인터넌스를 하고 있습니다만
    복잡한 코드를 읽으려면 다음과 같은 문제에 직면하여 고전했습니다.
    - 비슷한 이름의 클래스가 대량으로 혼란스러워
    - 어느 클래스에 어떤 메소드가 있었는지 기억할 수 없다(아까 본 메소드 어디에 있는 거야?)
    - 과거와 비슷한 수정을 했을 텐데, 과거의 코드를 봐도 기억하기까지 시간이 걸린다

    그런 가운데, 여러가지 시행착오를 하고 눈치챈 유용한 모델링 방법(클래스도 작성 방법)을 소개합니다.
    참고 : 자신은 astah을 좋아하기 때문에 astah를 사용하지만 대부분의 모델링 도구, 그리기 도구에서도 같은 것을 할 수 있다고 생각합니다.

    그림에 제목을 추가



    우선 그림에 제목을 붙입니다.
    이 때, 자신이 알고 싶은 일이나 수정하고 싶은 일이라고 하는 목적을 타이틀로 합니다.
    이렇게 하면 이 그림이 무엇을 밝혀내고 다음과 같은 사태가 방지됩니다.
  • 불필요한 요소까지 그림에 쓰려고 시간을 낭비합니다
  • 불필요한 요소가 증가함에 따라보기 어려운 그림이됩니다.
  • 옆길에 그것으로 전혀 다른 것을 조사하고 있다

  • 또한, 작성한 그림을 issue 타이틀이 붙은 패키지에 넣으면
    나중에 「이 Issue의 코코를 수정했을 때, 어떻게 해결했는지?」라고 하는 때에 파내기 쉽고 편리합니다.


    수업 작성



    다이어그램을 작성한 후 클래스를 작성합니다.
    여기서 주의할 점은
  • 제목에 쓴 것 이외의 요소를 표현하려고 하지 않는다
  • 노트 기능 (메모)으로 함수의 동작이나 각서를 써 둔다
  • 의문 등도 노트에 남겨 둔다

  • 클래스 다이어그램은 클래스 간의 관계와 상속 관계 등의 구조를 표현할 수는 있지만 동작을 표현할 수는 없습니다.
    그래서 함수의 동작 등, 클래스도로 표현할 수 없는 요소나 표현의 방법을 모르는 요소는 노트에 써 둡니다.



    요약


  • 목적을 명확히하고 그림 제목과 그림 요소를 그립니다
  • 어쨌든 메모를 남겨주세요

  • 자신은 상기 2개를 의식하는 것만으로, 꽤 코드의 이해력이 올랐습니다.
    아직도 2년째의 돌출로, 모델링도 코딩도 미숙합니다만, 한 번 시험해 주셔 조금이라도
    코드를 읽는 것이 트라이라고 하는 사람의 도움이 되면 다행입니다.
    또, 실수나 방법의 개선점등 발견되었을 때는 코멘트등으로 가르쳐 주시면 울고 기뻐합니다.

    좋은 웹페이지 즐겨찾기