파이썬을 활용하여 데이터를 다뤄보려는 사람들 중에서 주피터 노트북을 써보지 않은 사람은 아마 없을 것이다. 나 역시도 처음에 주피터 노트북을 접했을 때 Interactive한 작성 과정이 신선하고 편하게 느껴졌다. 파이썬에서 어떤 데이터를 코드를 통해서 처리하게 되었을 때 어떤 형태로 변환되는지를 눈으로 바로 확인할 수 있기 때문이다.

하지만 주피터 노트북으로 작성된 코드들에는 다음과 같은 문제점들이 자주 관찰된다.

  • 사용이 되지 않는 변수 등이 제거되지 않아 혼란을 준다.
  • 실행 순서가 순방향이 아닌 경우도 있고, 중간에 스킵해야 하는 경우도 있다. 잘 동작하지 않는 셀을 건너뛰는 것은 작성자는 아는데, 다른 사람들은 알기 어렵다.
  • 모듈화에 대한 개념이 약해지고, Copy-and-paste 코드들이 늘어나는 경향
  • 전역 변수 사용이 빈번해진다.
  • 버전 관리가 잘 되기 어렵다. JSON 뭉치이기 때문이다.

REPL의 장점이 분명히 있으므로 높은 자유도를 즐기지만 한 두번 정도의 리팩토링을 시도해보는 것이 적절한 타협선이라 생각한다.