Nagoya.php第7回に参加しました。カルテットコミュニケーションズ(名古屋市中区)で開催されました。
分岐と行き止まり
みんなでコードを書く問題は、分岐と行き止まり 横へな 2014.11.7 問題を取り上げました。制限時間は60分らしいです。元の勉強会ではどうか分かりませんが、Nagoya.phpでは時間制限は厳密ではありません。
いちおう、以下の二通りを作ってみました。
回答1: ルートを記述しておく、という方法(プログラムはほとんど関係ない方法)
回答2: 次のルートへのデータを、再帰的に処理する
回答1は20分ぐらいでできましたが、実際にはルートを調べ上げれば、ほぼ終わりで、調べ上げ作業が時間がかかりました。
プログラムらしいのは2のほうですね。かなりやっつけで書いたコードなのですけど。今回のお題が結構難しいようで、苦労していた人が多いです。「再帰的に処理する」という概念は、プログラムの学習では重要ですが、もうすこし易しい問題のほうが良かったかもしれません。
データをどこに保存するか
LTはいくつかあったのですが、データをどこに保存するか、という話が興味深かったです。「定数」「設定ファイル」「データベース」「外部のAPI」のどれかを選ぶ、というものでした。
たとえば、
「性別」という項目があって、「男」「女」「内緒」「不明」といった選択肢がありえる
といった場合、そのデータをどこで持たせておくか、というものです。
どれが正しい、というものではないですが、人それぞれにおき場所が別れたのが面白いですね。私個人は、たいてい「設定ファイル」においています。バージョン管理がしやすい、という理由です。一方で、データベースにおくことで、変更に柔軟に対応できるようにする、という方針の人もいました。この方針はなるほど、と思いました。大きなプロダクトだと、「データベースにおく」が良いのかもしれません。