one file, one class.プログラミングのルールから外れるな

PHPプログラミングをしています。

…とある他人が書いたソースコードを直していて、ClassAのコードがファイルXに書かれていると思ったのですが、ファイルXにはClassBも書かれていました。

1ファイルに複数のクラスを書いてはいけないというルールはないし、仕様的にも許されてはいますが、基本的に1ファイル1クラスなのに、後で別の人がつくったためにルールから外れていました。

それに加えて、ファイルXにはClassに属さないfunctionも書かれていました。カオスとまでは言いませんが玉石混合状態です。

構造化を意識して書いてくればいいのにと思う次第です。

先ほどもいいましたが、これをPHPの仕様で縛ればよいのでしょうか?

例えば「1ファイルに記述できるクラスは1つまで」という仕様にするのが、
正しいかと言われれば私はそうではないと思います。

ちょっとプログラムを動かしたい時に1ファイルの中にすべてを詰め込めなければ、
なにかとやりにくいはずだから。

クラスや関数などに数の制限を入れる意味がない。

言語は柔軟に書けた方がいい。

人間社会にも言えることですが、
上から制約を設けるよりも、作法を守る人を増やしたほうがよいのは、
プログラミング言語においても同じなのです。

というわけで、昼休みのぼやきでした。

コメント

タイトルとURLをコピーしました