昨日、管理人ブログの一覧ページに、5記事ごとのページネーションを導入し、また一覧に簡単な紹介文も表示されるよう修正しました。ただ、これまではタイトル、見出し、本文のいずれも記事ページにハードコードしていたため、同時に記事データをデータファイル化し、共通のページを使用する方式に変える必要がありました。記事は現時点で11個で、これくらいならすぐだろうと思っていましたが、想定より大変だったため、私の過ちと学びをお伝えしたいと思います。
そもそもですが、私は仕事でプログラムを書く機会もあり、ブログ記事のようなページの場合にハードコードが良く無いことは知っていたはずでした。このサイトを制作するにあたっても、共通の部品はコンポーネント化するよう意識しており、ブログの一覧ページや記事ページも例外ではありません。しかし、作りはじめは記事も1つ2つ程度しかないため、一旦はハードコードで作りがちです。そして、後で記事データだけ切り出そうと思いつつ、他の修正を優先するなどしているうちに、ハードコードの記事は増えていきました。言い訳にはなりますが、こんな経緯で記事数が11個に増えるまで放置してしまっていたわけです。
当たり前のことですが、共通化されていないと、全体に係るような修正を加えたい場合に、変更が大変です。また今回の私のように、動的な(記事数に応じて自動的に各ページに組み込む記事を切り替える)表示は、基本的にはデータ化されていないと実現できません。そしてこれが最大の見落としでしたが、たった記事11個でも、後からデータファイルに切り出すのはかなり手間がかかります。
今回、記事のデータファイル化と一覧ページの動的化、記事ページの共通化に、約6時間を要しました。1~2時間で終わると思っていたところ、3倍以上の時間がかかっているわけなので、この過ちによる損失は大きかったです。最近、お知らせもデータファイル化、一覧ページを動的化したので、これを合わせるともっと時間がかかっています。単に見積もりが甘かったこともありますが、先日のドメインの件も踏まえ、しっかり先を見据えて意思決定することの重要性を認識させられました。皆さんも、何事においても、今後どうしていくのかどうなっていくのか、を意識して選択していただけると良いと思います。