初級の段階では、まず「どんな処理を書くか」を学びます。
今回の初級の問題もその1つですね。
「配列の情報をソートしたい」というニーズは、実務においても発生するものです。
その時に「どんなソートをしたいのか」をまずはヒアリングして、次に実装する能力は、とても大切です。
「ソートにどんな種類があるのか」。ソートの基準はキーなのか値なのか、昇順なのか降順なのか、キーの振り直しはした方がよいのかしてはいけないのか、など。
こういったことは「様々なソートの関数がある」ことを知っているからこそ気づける観点でもあるので。
例えばPHPで「配列のソートについて学ぶ」ことも、もう少し広くお話をすると「様々な技術について広く深く学んでいく」ことも、それらはとても大切なことになりま
す。
そうやって「要求された仕様に基づいたコードを書けるようになる」のは、一つの到達点だと思います。
でも、その「先」が、あります。
熟練のエンジニアは、「どのように書くか」と同じくらい「どこに書くか」をとても大切にしています。
なぜなら、実務で書くプログラムはファイル数も行数も多いので、乱雑に書いてしまうと後のメンテナンスで苦労することが多くなるからです。
今回の上級の問題「名前空間」は、「どこに書くか」を考えるうえで大切な技術の一つです。
増えてきたコードを整理し、それぞれのコードが「どこに属するものか」を表すためによく使われます。
はじめの頃は「なぜこんなものがあるんだろう?」と疑問に思うかもしれません。
その疑問も、とても大切なものです。
その疑問をしっかりと持ち、その疑問に「自分なりの回答」を見つけることができるようになったら、きっと「上級に向かって歩みが進んでいる」よい道しるべになると
思います。
まずはじめは「要求されたものが書けるようになる」ことを。
その次は「それを”どこに”書くかを意識できるようにする」ことを、覚えておいてください。

