ルールズ・オブ・プログラミング読書会vol.25
https://scrapbox.io/files/655372c161a776001bf71cc6.jpeg
開催日時
2024年12月10日(火) 19:30~21:00
開催URL
参加人数
6人
ウォーミングアップ
ルール11 2倍よくなるか
論理和はドモルガンで論理積になるのでは
本題じゃないけど
今まさにCの構造体へのポインタを作ってる
C++っぽく書くとどうしても遅くなる
薄ーくC++でラップする
デストラクタを加えるとか
メンバにハンドルを持つ形にするとか
フューチャープルーフ
謎のreserve領域を用意しておくとか
そこじゃない領域が必要になることも
足りなくなるまでの延命でしかない
前に進む3つの道:無視、微調整、リファクタリング
無視という道もあるんだ
マシンスペックを上げることで解決
並列で処理することで解決
プログラマーの2つの亜種
第3のタイプ
相手の考えと逆の提案をする天邪鬼タイプ
自分で反対だったり面白くない案だと思ってもあえて言う
全会一致のパラドックス
昔のユダヤ社会がもとらしい
全員一致だったらその案は廃案にする
誰も気づいていない問題があるかもしれない
悪魔の代弁者
↑ためになったけど本題は一ミリもかすってない
毎回作り直す側に言いたい
人はなぜビルドツールを新たに作ってしまうのか
タイプ1とタイプ2、あなたはどっち?
場合分けしているプログラムを場合分けなしで書ける場合
+の時と-の時で場合分けする→絶対値にして分けない
わざわざ場合分けなしに書き換えることはない
作り直していると結局元のコードに戻る
必要に駆られてこうなっていたことがわかる
素材の味を生かすインクリメンタルプログラマ
ちゃんと理解していることが必要
この会来てる人はちゃんと理解して書いてると思う
結局どうやって決めるの?
外に影響があまりない場合だと新しいことをいろいろ試す
内製ツールとかだといろいろ試す
C++のmoduleを試した
ヘッダと行き来するコマンドでジャンプできないのが玉にキズ
一度リリースされたタイトルとかの修正は慎重になる
ダメだった時に無しにできるなら自由にやる
単純な経験則
次回ここから
お悩み雑談室
オプションのフラグ指定にビットで持たせるときどう実装します?
エレガントなやり方を知りたい
enum
オーバーロードが面倒
uint32_t
std::bitset
あんまり評判は良くない
bitfield
わかって使うのであればいいのでは
ビット割り当てルールって決まってないんだっけ?
上位からとか下位からとか
名前なしのビットフィールド要素
posix APIとlinux syscallとmusl libcの間を埋めるのに役に立った
C言語ちょいちょい名前なしが許されてるのが謎
structのタグ名
structのタグ名と関数名が同じでCだと問題ないが、C++だと問題になる
stat
sigaction
次回新年会あり