独学でも一年ほど勉強しましたが、それでも実務に入って新しく学んだことも多いです。アウトプットの意味も込めて、ここに書いていこうと思います。
技術記事としては、初学者の方向けです。エンジニア転職を目指して頑張っている方の参考になればよいと思います。
汚物は消毒だ!!
はい、不要なコードは消しましょうという話です。
改めて書くと当たり前なのですが、私が独学の頃に作成したポートフォリオの時は、全くできていませんでした。LaravelというPHPのフレームワークを使っているのですが、Laravelはコマンドをいくつか入力するだけで、ログイン機能などを自動的に作成してくれます。そこから独自に開発を進めていたのですが、使わないコードも残していました。メールアドレス認証などは使わなかったのですが、それらのコードをLaravelが自動的に作成してくれていました。
不要なコードを消すという、一見簡単そうに見えることでも、以下の能力が必要になると思います。
1.技術的な負債をなるべく減らそうという姿勢
2.フレームワークに対する理解
まず一つ目についてですが、これは他人が自分のコードをみて理解できるかです。先の例だと、メールアドレス認証のコードを残していれば、ほかの人がそれを見たとき、
「あれ、メールアドレス認証のための記事があるぞ。アプリにメールアドレス認証機能ってついていたかな?(カチカチ...)やっぱり認証機能は見当たらないな。(再度、コードをチェック...)あっ、このコードは使ってないのか。(それなら消しておいてくれよ。無駄な時間使ってしまった...)」となってしまいます。整理整頓してあるコードは、他者が見たときに分かりやすくなります。
次に二つ目についてですが、不要なコードを削除しようと思うと、一つ一つファイルの中身を確認していく必要があります。その過程で、「このコードは何をしているのだろうか?削除してしまっても問題ないか?」と考えるようになり、フレームワークが裏でどのような処理を行ってくれていたのかを深く理解できるようになります。今後、難しい機能を実装するときの助けになると思います。