2016/09/29

Arduinoライブラリをどうしたらよいかだんだんわからなくなる

最初、あまり読まずに私がC++でやるときのルールで実装していった。

  • 公開する整数定数は、publicのstatic constに書く
  • 同じく、enumもpublicに書く
  • 最初に設定したら変更しないものは、コンストラクタでもらうようにする
  • コンストラクタでオブジェクトのポインタをもらうなら、参照でもらうようにすることも考える

 

そう実装してから他のライブラリをちらっと見たのだが、そういう実装ではなさそうだった。

  • 定数は#defineにする
  • enumは使ってない?
  • 参照を使っているところは見つけられなかった

 

Arduinoとしてはマクロはあまり使わないようなことを書いていた気がするのだけど、今見直したら書いていないな。
マクロ名も、クラスに関係しているかどうかとか気にせず、やたら短かった。
あんまり短いと、誰かとぶつかって困る羽目になりそうなのだが。。。

 

結局私も、static constやenumはやめて、#defineに置き換えることにした。
ただ、短い#defineだと衝突しそうなので、クラス名の一部をプレフィクスに付けた。
多少はましだろう。

 

あまり時間を掛けたい作業ではないのだけど、ルールがあるものは仕方が無い。
全部に従うことは無いにしても、不自然で無いようにはしたいものだ。
が、自信はないな。。。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。