"I was (once again) re-assigned to another old project for upkeep 'n such," Johnny D writes, "and as it so happened, there was a bug. "

"A bug usually isn't that big of a deal... but this project had layers. And layers. And layers. And none of them are documented or commented in any manner.

"I'm at a loss for words to describe all of the debugging and tracing that went into this problem... but I'm certainly not at a loss for code. In fact, here's a single line of code from one of the many layers.

static void (*const SID[MAX_NUM_SERVICE_IDENTIFIERS])
            ( const u8 *data, const u16 bytes ) = 
{
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, &start_diagnostic_session,
          NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, &read_ecu_identification,
          NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, &rd_data_by_common_identifier, 
          NULL, NULL, NULL, NULL, &security_access, 
    NULL, NULL, NULL, NULL, NULL, 
          NULL, &wr_data_by_common_identifier,NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
    NULL, NULL, NULL, NULL, NULL
};

"Apparently, this structure is essential for passing information to other layers. Now if I only knew how it's supposed to do that..."

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!