??? 09/08/06 00:16 Read: times |
#123890 - Style Responding to: ???'s previous message |
Mark Buster said:
I think this is more readable and easier to make data specific changes to if nothing else. It is. Another way to make it more readable & maintainable is to use symbolic names instead of "magic numbers"; eg, // Indexes for the byte positions in a Basic Set Frame #define LEN 0 #define TYPE 1 #define CMD 2 #define NODE 3 /* (Target Node) */ #define COMMLEN 4 /* (Length of data specific payload within Frame) */ #define COMMCLASS 5 #define COMM 6 #define LASTKEY 7 #define TXOPT 8 #define FUNCID 9 char BasicSetFrame[10]; int pos; //position within array char Length = 0xA; //Length of frame, excluding SOF and Checksum BasicSetFrame[LEN ] = Length; BasicSetFrame[TYPE ] = 0x00; BasicSetFrame[CMD ] = 0x13; // SendData BasicSetFrame[NODE ] = IconNodeID; BasicSetFrame[COMMLEN ] = 0x03; BasicSetFrame[COMMCLASS ] = 0x20; // Basic BasicSetFrame[COMM ] = 0x01; // Basic Set BasicSetFrame[LASTKEY ] = LastKey; // Decoded Button Press/Release BasicSetFrame[TXOPT ] = 0x05; BasicSetFrame[FUNCID ] = 0x00; Note also how aligning comments, etc, makes it easier to read |
Topic | Author | Date |
^= , Checksum, Problem | 01/01/70 00:00 | |
Have you tried a simulator? | 01/01/70 00:00 | |
well, | 01/01/70 00:00 | |
OK | 01/01/70 00:00 | |
volatile? | 01/01/70 00:00 | |
volatile | 01/01/70 00:00 | |
using ICE ? | 01/01/70 00:00 | |
update code (working) and clarification | 01/01/70 00:00 | |
Style | 01/01/70 00:00 | |
Think about your variable types | 01/01/70 00:00 | |
Thanks | 01/01/70 00:00 | |
Magic numbers | 01/01/70 00:00 | |
but don't be "oversmart" | 01/01/70 00:00 | |
example? | 01/01/70 00:00 | |
advantages | 01/01/70 00:00 | |
the most often forgotten quality guarantee![]() | 01/01/70 00:00 | |
so, use structures! | 01/01/70 00:00 | |
padding | 01/01/70 00:00 | |
| 01/01/70 00:00 | |
Actual Output | 01/01/70 00:00 | |
C99 | 01/01/70 00:00 | |
making up your own | 01/01/70 00:00 | |
Names | 01/01/70 00:00 | |
FYI - C99 Exact- & Minimum-width types | 01/01/70 00:00 |