最近、どのようにプログラムを構築するか悩んでいます。
ある処理を行うためのサブルーチンはできて、あとはそれの組み合わせなのですが
今までは何も考えず、様々なところでグローバル変数を使ってました。

もう少し、わかりやすく移植しやすいプログラムを作りたいのですが
何かよい方法はありますか?
引数で渡す方法ですと、インプットはそれで良いですがアウトプットでは
返り値だけだと足りません。(だから今まではグローバル変数を多用していた)

特にC言語だと色々とやりたいようにできるのがメリットでもありデメリットでもあるんですよね・・・