SDK for NFC Starter Kit beta2。
FALPができるのだが、まだ受信できてない。
それはまあいいとして、ライブラリ実装がなんか不自然なのが気になる。
なんというか、静的解析ツールくらいはかけてからリリースした方がいいと思う。
自分では持っていないから何とも言えないが、見ただけで変なところもあるので、ちょっと書いておく。
felica_basic_lite_s.h
L.7
マクロ名の先頭がアンダーバー2つっていうのは、システム側で使用するものなので、普通は避ける。
一致しなければ別にいいんだけど。
この辺は間違って覚えている人が多いので、ありがちといえばありがちだ。
L.41
Visual C++なら通らないからいいけど、そうでなければコンパイルエラーになると思う。
#elif、だ。
よく知らんが、最近は#else ifなんて構文もあるのか?
L.42
Cにはboolがないから定義したのだろうが、せめてtypedefしてほしいところ。
boolのサイズはけっこう処理系依存だと思うけど、unsigned charで大丈夫なのか?
下の方でextern "C"してるから、boolは使わない方がいいと思うんだけどね。
戻り値も定義した方が、ソースとしては一貫性があるだろう。
felica_mobile2_lite_s.h
L.94
このAPIだけ、他と違って変。
違う人が作ったのかな?
L.101
XPは32bit版だけだったけど、それ以外は64bit版もあったような。
APIが違うのはドキュメントに書かなくていいのだろうか・・・。
なんとなくFeliCa関係のソースは結構適当なできばえという印象がある。
動くからそれでいいやん、というのもそれはそれでいいんだけど、金を出して買った方からすると「品管は大丈夫なの?」なんて心配をしてしまう。
だって、ソフト仕様書とヘッダファイルなんて、製品で言えば筐体に当たるものやん。
もう少し気を遣った方がよい。
ソフトって、OJTだけでは成長しないので、ちゃんとした教育をしないといけない。
動くソフトとちゃんとしたソフトの差は大きく、やはりそれなりの教育がどうしても必要なのだ。
私も長いこと「動けばいいやん」派だったけど、この歳になってようやくわかってきたと思う。
セミナーとかによく参加させられて、「それなら仕事させてくれー」と上司に反発していたのだけど、悔しいが役に立っている。
ただ、教育を受けてしまうとソフトの考え方が固くなってしまうので、それはそれで面白くない。
なので結局、仕事用のソフトと遊び用のソフト、みたいな作り方をするようになってしまう。
とはいえ、こればっかりは難しいのよねぇ。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。