ルールズ・オブ・プログラミング読書会vol.41
#ルールズ・オブ・プログラミング
https://scrapbox.io/files/655372c161a776001bf71cc6.jpeg
開催日時
2025年9月9日(火) 19:30~21:00
開催URL
https://cpp-osaka.connpass.com/event/367943/
参加人数
2人
ウォーミングアップ
条件演算子の結合優先順位
ルール17 大きな問題ほど解決しやすいこともある
前に進む明確な道筋を見出す
ゴーストオブツシマのダッシュ
木は避けるが人にはぶつかるドジっ子侍
何とかしようと色々とコードを追加するがうまく機能しなかった
単に見落としていただけでは
ロゼンジってなに?
陸上のトラックみたいな形
ある線分から等しい距離の形
ちゃんと注釈があった
人間を一時的に木とみなす
あがり症の人の対策みたいな
著者はひらめいたんだろうけど、読んでる側からは自明に思えた
PathManager, PathExtension
もともとは静的な障害物(木)を持っているクラス
そこに人間を木のような障害物として足せるようにしたのがPathExtension
だと思う、知らんけど
そういう説明がほしいな
Javaでよくある拡張方法
AvoidLozenges
サッカーパンチの背景が全然わからないのでハイそうですか、としか言いようのないコード
読んでてそういうことか、とはならない
今まで出てきた一般性とは毛色が違う
std::findをstd::find_ifにしたような感じ
複雑なものを外に丸投げ
機会を認識する
XMLを真面目にパースするのではなく視点を変えればawkで処理できる
開始終了タグが1行になっている前提だったので
Visual Studioのプロジェクトをきちんと構文解析するのが面倒だったのでプロジェクト内に「Android」の文字列があるか検索した
↑機会を認識して別解を求めた例
ルール17の「大きな問題ほど解決しやすいこともある」とは真逆の例
ルール18 コードに自らの物語を語らせろ
次回ここから
お悩み雑談室
throwは式
c = 1 ? 3 : throw 1;みたいなことができる
これコンパイル通るんだ…
co_awaitは演算子
演算子なのでオーバーロード可能
co_await 1に意味を持たせたい場合などで使われる
co_return, co_yieldは文