(1) Save & Run All (Commit)
Save & Run All은 내가 작성한 Draft 노트북의 전체 코드를 처음부터 끝까지 한 번 재실행한 후 이 결과를 고정해 버전으로 만드는 것으로, 가장 많이 쓰는 방식입니다. 코드 재실행 과정은 코드의 재현성을 보장한다는 것에 그 의의가 있습니다.
노트북은 특성상 코드 셀의 실행 순서를 자기 마음대로 할 수 있고, 사용한 변수를 다른 셀에서 재사용할 수 있습니다. 그러다 보니 코드를 작성할 당시에는 문제없이 실행되던 코드가 다른 사람이 처음부터 다시 실행하면 에러가 발생해 결과가 재현되지 않을 수 있습니다. 재현되지 않는 코드는 결과가 제대로 나오지 않으므로 사용 가치가 떨어집니다.
Save & Run All을 실행하면 외부 개입 없이 그저 코드 셀을 처음부터 끝까지 순서대로 실행하므로, 데이터가 바뀌거나 코드 내부에 랜덤성이 있지 않는 이상 언제 실행하더라도 결과가 재현될 수 있습니다. 이렇게 만들어진 노트북 버전은 그렇지 않은 코드에 비해 신뢰도가 높으며, 코드를 공개적으로 공유했을 때 에러에 대한 커뮤니케이션 비용이 줄어 스트레스를 덜 받게 됩니다. 따라서 올바른 코드 저장을 위해서 에러가 나지 않도록 노트북을 잘 설계해야 합니다. 이런 이유로 Save & Run All은 코드를 짜는 사람에게 좋은 코드를 설계하도록 감독하는 역할을 하기도 합니다.