- (의존성 제거) 각 단락의 호출결과는 분석을 하면서 다른 단락의 값이 변해도, 다시 호출했을 때 동일한 결과물을 내어야 한다.
- 처리로직은 모두 함수화 한다
- 분석시, 이렇게도 저렇게도 해보므로, 작업했던 로직은 모두 함수화 해서, 재사용 가능하게 한다.
- 함수는 잘 구조화 해서, 인풋 아웃풋이 명확하고 함수명이 직관적으로 이해되어야 한다.
- (문서 작성) 무엇을 할지 계획하고, 설계하고, 코드 작성, 결과물에대한 분석 결과 등을 작성한다.
- 분석 내용은 보고서를 보듯이, 쉽게 읽히고, 이해되어야 한다.
- 모든 분석내용은 언젠가 다시 필요할 때가 있을 수 있다. 분석 결과 아니라고 하더라도, 분석결과는 가능한 다 남겨놓자.(분석 결과 다 남겨 놓으니, 의미 없는 분석 결과가 많아서, 헷갈린다. 분석 로직은 왠만하면 함수로 정의하고, 분석 코드는 함수를 호출하여 간단히만 처리하고, 의미 있는 분석결과만 남겨두기)
- 분석시 큰그림을 볼수 있는 통계데이터를 먼저 만들고, 거기에 따라, 디테일한 부분들을 찾아 나가기.
- printSchema, count, summary등 체크하여, 해당 데이터에 대한 이해도를 높이기
- 적은 모수로 잘 돌아가는지 테스트해보고 실제 데이터에서 돌리기. 그러지 않으면, 오랫동안 기다리고, 버그픽스하고의 반복..
- 분석하면서 정리된 내용을 맨위에 정리
- 함수등 정의는 그다음 맨 기위에 정의
- (제플린등이 꺼지거나 하면, 메모리에 있던게 날아가므로, 정의된 내용을 다시 실행시키게 하기)
- 함수명은 되도록이면 get~~ 등으로 지어서, 함수 호출할 때, 자동완성기능을 활용한다.
- Dataframe은 가능하면 모두 함수로 정의하고, 변동사항 있을 수 있는 값들은 모두 파라미터로 설정.
- 1차적으로 계획을 세우고, 결과물의 데이터 구조를 정의하고, 코드 작성하고, 결과물에대한 분석 코맨트를 작성.
- 업무가 다양화 되면서, 노트 관리가 어려워 진다. 지라 티켓명으로 노트 정리.