Skip to content
castaneai edited this page Aug 24, 2016 · 7 revisions

TODO

  • ReqeustHandlerいらないのでは (NinjaConnectionだけにして,commandからの振り分けはserverにやらせる
  • 例外を使うコードに変更
  • message struct に std::vector<byte_t> のコピーを使うことで,sendChunkやgetSize()を消してすっきりさせる
  • string_tを使わない。基本バイト配列の std::string をつかう
  • 単体テスト、C#である必要はないのでは。pythonあたりにしたら。
  • agiri/ -> src/ に名前変更
  • src/以下をディレクトリ分ける, net/ 配下に server関連,ninja connection関連を置く

Agiri コーディング規約

命名規則

  • fooBarBaz 方式.WinAPIと合わせるため. STLはsnake_caseだが気にしない.

  • バイト型には byte_t を使う
  • agiriでは文字列を扱う部分はほとんどないはず,byteのみ.byteのかたまりは std::vector<byte_t> で表す, bytes_t としてtypedef してしまってもいいかもしれない
  • WinAPIに渡すとき以外では生のポインタを使わない.

モジュールわけ

  • スコープをファイル内に限定するならば static よりも 無名 namespace を使う.(これはサイボウズのやつにも書いてある)

エラー処理

  • 例外を使う.しかしかならずcatchすること.