nagoya.php第11回に参加しました。

nagoya.php第11回に参加しました。

どう書く

nagoya.phpでは、毎回、一つの課題を決め、それを皆でコードを書く、ということを行っています。今回の課題は続柄でした。詳しくはリンク先に書いてありますが、

  • 家計図(親子関係を示すもの)がある
  • 2人を選んだとき、その2人の間の関係(親、おば、姉妹、いとこ、など)を調べたい

という課題です。課題では「子供が3人」という条件があるので、このことを活用したら楽にコードが書けるようです。

私は珍しくオブジェクト指向でかきました。https://gist.github.com/ounziw/ed70cd258158ebc5bfa875a8746d9ea2

womanというクラスに、「子供を産む」メソッドを実装しています。「子供を産む」ときに親子関係もセットする、という方式です。後は、「親を取得する」「子を取得する」「おばを取得する」...というメソッドを作成していきます。

  • woman.php : womanクラスを定義しているファイル
  • bear.php : 子供を産む処理を記述しているファイル
  • index.php : メインの処理を書いているファイル

と3ファイルになりました。「子供が3人」という条件はwomanクラスで使用していないので、子供の人数が異なる場合でも対応しています。

「どう書く」が難しい人は

「どう書く」の課題は、1~2時間ぐらいで解く想定ですが、PHP暦2ヶ月、とかだと難しいかもしれません。そのような場合は一部だけ解く、もっと簡単な問題を解く、など、各自の経験に合わせてコードを書いていきます。

他の人のコード

私は今回はすごく直球のコードでした。コード量は多いですが、処理を追いやすいコードだと思います。

「親のほうへ遡っていく」という形で実装している方がいました。たとえば「姉妹」であれば、「お互いの親が一致する」ですし、「おば」であれば、「Aの祖母とBの母が一致する」です。私は思いつかなかった方法なのですが、面白いと思いました。

ピザの発注

懇親会のためにピザとビールを発注するのですが、どれくらい発注するのが良いか、というのを計算したい、という話がありました。金本さんのコードはこんな感じです。私はピザ枚数計算をJavaScriptで作成しました。

記事公開日: 2016年04月18日
#

ブログ飯で有名な染谷昌利さんが名古屋でセミナーを開催する... 詳細はこちら

読書は通常、一人で行うものですが、皆でやってみたらどうな... 詳細はこちら

私はゆるやかな糖質制限は行っていますが、MEC食は試したこと... 詳細はこちら