9月入学

 4月に入学するという根拠は法律ではなくて、文部科学省の省令「学校教育法施行規則」で決まっているらしい。
 それでは、省令を変えればいいかというとそれだけではいろいろ齟齬が出てくる。
 例えば、児童手当を支給するための児童手当法などでは”この法律において「児童」とは、十八歳に達する日以後の最初の三月三十一日までの間にある者であつて”などという記述があり4月入学が前提となる法律となっている。

 これは、下位モジュール(省令)で定義されたローカル定数を、上位モジュール(法律)でアクセスすると、国会で決められた上位モジュールの動作が下位モジュールによって変えられてしまうという現象となってしまう。
 そのため、上位モジュール(法律)では下位モジュール(省令)を参照できないため、マジックナンバー(三月三十一日)を各法律で記述しなくてはならなくなったのではないかと思われる。

 今回、9月入学に変更するためには、アーキテクチャーを綺麗にするため、どれか一つの法律で定義し、関連する法律もその法律を参照するようにして、マジックナンバー(9月)を1か所で定義するようにすることが必要と思われる。