ルールズ・オブ・プログラミング読書会vol.24
https://scrapbox.io/files/655372c161a776001bf71cc6.jpeg
開催日時
2024年11月26日(火) 19:30~21:00
開催URL
参加人数
4人
ウォーミングアップ
ルール10
有力化されているか?
今のところ2*2で4パターン
https://scrapbox.io/files/6745a897a563d7572039319e.JPG
状態遷移時にopen-closeを切り替えようとしているので複雑になっている
霧が立ち込め始める
さらに霧の条件が追加されて複雑になった
新人さんがこういうコードを書きがちだけどどうしたらいい?
破綻するまでやらせたらいい(体験させる)
慣れているプログラマはサボれる方法をすぐ探す
とりあえず大まかに作ってみて破綻しそうか破綻したら形を整えていく
プログラムは失敗しても構わない(人が死んだり勘定系のプログラムでなければ)
図とか状態遷移図を考える
状態遷移図は情報工学をやってないと出てこない
周りの真似をしてもらう
体系立ったものはない
周りが悪いコードだったら・・・
アプローチを再考する
メンバのアクセス権を何でもかんでもprotectedにするのはいかがなものか
継承した時のインタフェースを考えないといけない
そもそもPlayerは継承されるの?
継承されるならrefreshSrealthIndicator()がvirtualになってしかるべき
純粋仮想関数ではない仮想関数
インタフェースと実装が一緒になっていて良くない
NVI(Non Virtual Interface Idiom)
確かにvirtualをpublicにして変更を加えようとして困ったことがあった
局所化された複雑性、単純な相互作用
いい例がある
cmakeのコード
どこに手を入れていいかわからん
新人さんには似たコードがあったらコードをまとめるように指摘してる
まとめるというよりコードを一般化する
まとめすぎた結果、複雑になるケースもある
これどこから呼び出してるの?くらい
程度問題
まとめようとして名前を付けられないケース
困ったときの最終手段はでてくる場所に応じてpreやcore、postという名称でまとめてる
繰り返しの中だったらstepとか
ルール11 2倍よくなるか
次回ここから
お悩み雑談室
アンパサンドについて調べていた
字体や書き順について悩んでた
もともとは一筆書きではなくEとTのリガチャ(合わさってできたもの)
形が変化していった
https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Historical_ampersand_evolution.svg/585px-Historical_ampersand_evolution.svg.png
ものすごい変遷をたどってる