globalじゃなくてstaticを使うと初期化の記述を一か所でかけたり
gotoを使うとエラー処理の記述を一か所でかけたり

こっちの方が可読性とか保守性がむしろ高くね?