へたれライブラリ

http://d.hatena.ne.jp/fkm/20060131/p1
ちょっと見てみた。学生趣味グラマとしてはよく出来ていると思うし、サラリーマンプログラマ(職人プログラマの対語)なんかよりはよっぽど良い。(自分もヘタレなくせに超えらそう>俺)
せっかくなので、幾つか気付いた点を挙げてみる。

  • Ctaskは、せっかくWindowsやDirectXと独立してるのに、ZeroMemory()を使ってると台無し。memset()かstd::fill()を使って標準にだけ依存するようにすれば、あとでタスクシステムだけを別の環境でそのまま流用できる。
  • CTCBの設計がダメ。ユーザーに継承させる事を前提にしたクラスに余計なものを入れちゃダメ。
  • そんなにリストを自分で実装したい?少なくとも、中身の処理と、リストで管理するための前後へのポインタは別のクラスに分けようよ。

タスクシステムのクラス設計は、OSのプロセスやスレッド関連のAPIを参考にすると良い。ユーザーからは直接TCBなんて見えないよね?

このブログに乗せているコードは引用を除き CC0 1.0 で提供します。