9月1日(火)1、2コマ目
前回のテストを採点して とりあえず、以下の3点を今後気を付けてください。 Itemクラスをサイズデータ受け渡しに使わない プロパティが同じ(ID, 名前, 価格)なので、Itemクラスをサイズデータ受け渡しのために使っている方がおられました。 Itemクラスから連想するのは「商品かな?」です。おそらく、サイズではないと思います。 このような使いまわしは直感的ではないため、やめたほうがいいです。 掟1 クラス名や変数名から連想されるデータだけを扱うこと! Index.cshtml.csのOnPost()にて① 選択された商品およびサイズを調べて、変数に代入するのですが、問題は変数名です。 Item target1 = null; Size target2 = null; のように、 target1 、 target2 と変数名からなんなのかがわからない方が結構おられました。 たとえば、 Item targetItem = null; Size targetSize = null; なら、変数名から対象商品だな、選択されたサイズだなとわかります。 変数名にかかわらず、クラス名、メソッド名、プロパティ名は名前からわかるようにしてください。 掟2 名前から実態がわかる変数名やクラス名、メソッド名を命名すること! Index.cshtml.csのOnPost()にて② 選択サイズによって価格の差額が決まります。 問題は商品の価格を計算、表示する部分です。 ご丁寧に int price = targetItem.Price; と変数を宣言したうえで、Tallでの金額を代入し、 price += targetSize.Price; とサイズによる差額を反映して strSelectedItem = "[" + targetItem.Id + "]" + targetItem.Name + ・・ + "(" + price + "円)"; で表示用文字列を作っている方がおられました。 変数priceは必要でしょうか? 以下で十分な気がします。 strSelected...