On Wed, Dec 12, 2001 at 12:16:34PM -0800, Keith Rollin wrote:
>> Remember:  when you can immediately think of something about the SDK
>> that "would be a lot better if", the chances are that the SDK writers
>> thought of it too.  :-)  There's often a good reason for the way things
>> are done.
> 
> Oh, John...as someone who had to clean up the SDK, you should know 
> that, quite often, there's NOT a good reason for the way things are! 

Indeed.  :-)  What I meant was "when something in an earlier version
has been changed to be more complicated and a bit better, but you think
it should be even more complicated and a lot better", but I couldn't
find a way to express it well.

Another case that I had in mind was when somebody thought that

        typedef struct TableType
        #ifdef ALLOW_ACCESS_TO_INTERALS
        {
          ...blah blah fields...
        }
        #endif
        TableType;

should have been coded in the SDK as

        typedef struct TableType
        {
        #ifdef ALLOW_ACCESS_TO_INTERALS
          ...blah blah fields...
        #else
          int dummy_field;
        #endif
        }
        TableType;

so that he could use static_casts with his broken CodeWarrior of the
time (I understand CW is no longer broken in this way).

While pushing for CW pandering, he could have stopped to think about
whether there was a reason for the way it had been done.  And then he
would have realised that, in no ALLOWed_ACCESS_TO_INTERNALS mode, having
TableType as an incomplete type produces far better type checking and
error messages than having it as some dummy structure does.

And in fact the OS engineer had written the dummy struct version until
the SDK engineer suggested the improvement.

And Mark Smith wrote:
> Except for MemSet of course.

Right.  That one's an indefensible screwup from the days before Palm
produced an SDK or employed any "SDK writers", back when there was just
a bunch of guys making some applications, oh, and they happened to
publish some of the header files and grandly call them an "SDK".

If there had been anybody with responsibility for an SDK (or if there
had really been an SDK at all!) at that time, I really believe this
wouldn't have happened.

    John

-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to