Unportable Code  Unportable Code

go to home page feedback about the unmaintainable code essay full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish ©2000-2009 Roedy Green, Canadian Mind Products

Here is an email I received in response to my essay on how to write unmaintainable code.

Unportable Code : Todd X Zimnoch : toddx.zimnoch@intel.com : 2000-10-30

Among other things, I loved the Microsoft Minimalist Keyboard. I use Dvorak, much to the pain of anyone else who wants to use my computer and hasn’t been told to hit alt-shift to switch to ',.pyf.

I think you meant QWERTY.

Note on How to Write Unmaintainable Code: Camouflage #3: I think that in general, the \ in a #define ignores the next (white-space?) character. I tracked a bug in a program once to something like this.

#define init(x, s) char c##x = s; \ int x = 0;

x is a now a global variable. There was a space after the \. Maybe there were comments after the \ as well? I’m not certain if this is true for all compilers, though.

My favorite for unportable code:

struct foo {
int a;        // 2 or 4 bytes?
float b;        // 4 or 8 bytes?
};

fread(&bar, (sizeof) foo, 1, fp);

CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/feedback/unmain/unportable.html J:\mindprod\feedback\unmain\unportable.html
CMP logofeedback Please email your feedback for publication, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email
mindprod.com IP:[65.110.21.43]
viewYour face IP:[38.107.191.102]
You are visitor number 11.