Coding in notebooks is useful for prototyping, but you don't get the same benefits as from code editors (linting, hints, etc). Additionally, the notebook cells can run out of order making for less reproducible code. Code can start in a notebook but should be moved to files as functions as soon as possible.