小さく分割しすぎると複雑さが増すコメントでブロックの説明をしてもいい
理想は30行以下 最低でも200行以下
グローバル変数を使わない
外部リソースとやり取りしないex) ファイル、インターネット、システムクロック、乱数
常にNoneを返すのでなければ、Noneを返さないエラーを示すためにNoneを返すのは避ける
理: Noneにより以降のコードでエラーが発生すると意味のあるエラーメッセージにならない