B-Free OSの、ソースコードの型表記はどうしましょうか。
1B風か2B風のどちらにしましょう?。
例えば、
1B風の場合、char が「SBYTE」となりますが、
2B風の場合、char が「B」となります。
隆一さんのコードを見てみると、2Bに近いようですね。
私の意見でいえば、1B風の方がコードの見通しがよいと思います。
2B風はシンプルでよいのですが、パッと見た時の理解が遅れると思っています。
ただ、1Bの場合、通常 unsignedの型にのみ Uをつけ、signedの場合、頭になにもつけ
ませんが(ex. WORD、UWORD)、BYTEだけ整合性がとれてません(ex. char == SBYTE、
unsigned char == BYTE)。
これだけ修正したいと思います。
/* TYPES.H */
typedef char BYTE; /* 1バイトの符号付き整数データ */
typedef unsigned char UBYTE; /* 1バイトの符号無し整数データ */
typedef short WORD; /* 2バイトの符号付き整数データ */
typedef unsigned short UWORD; /* 2バイトの符号無し整数データ */
typedef long LONG; /* 4バイトの符号付き整数データ */
typedef unsigned long ULONG; /* 4バイトの符号無し整数データ */
typedef float FLOAT; /* 単精度浮動小数点データ */
typedef double DOUBLE; /* 倍精度浮動小数点データ */
typedef enum { FALSE = 0, TRUE = 1 } BOOL;
typedef UBYTE SCODE; /* ASCII文字コード(1バイト)のデータ */
typedef UWORD TCODE; /* TRON文字コード(2バイト)のデータ */
typedef union point {
struct {
WORD h; /* 水平方向位置(X) */
WORD v; /* 垂直方向位置(Y) */
} c;
LONG l;
} POINT;
typedef union rect {
struct {
WORD left;
WORD top;
WORD right;
WORD bottom;
} c;
struct {
POINT lefttop;
POINT rightbot;
} p;
LONG l[2];
} RECT;