property と global 変数の使い分け

scope の範囲を広げたいので、global 変数にするか、あるいは property として定義するか、どっちがいいのか。効能はどちらも変わらないのでどうするか。

自分としての結論は、その class の変数にしたいなら property で、class 内でしか通用しなくていいなら global 変数でと言うことなんだなと。

class の変数にすると、class のインスタンスを生成後、property に値を付与できる余地が出てくる。class に対して直接的な interface を提供できる。

その必要がないなら global 変数で良い。実は、定義する際も global 変数の方が簡便。

分かってしまえばそんなのあたりまえなのですが、今までなんかぼんやりしていたので、自分の中で区別が明解になってよかった。