This is a supplement to my Bourne End-isms. The following code lines were found in a C++ module of a piece of software as it was being tested:
// This function is called when the current Event On-Air has completed but // the Next Event is Not ready to Start. // // The purpose of this function is to determine whether to keep the // Current Event On-Air // Until the Next Event is Taken to Air, or to Route the Fall Back to Air. // // Consider: If this destination is a break-away destination then when the // current event completes the Fall Back Follow source should be routed // to Air so that this break-away destination will return to follow the // Clean Feed Output. // // However, if there is a genuine 'gap' in the schedule, such the clean // feed preset event is not valid to take to air, but the On-Air event has // completed, then the Fall Back Source should be routed to the // Clean Feed output. // // The answer to the question of whether to keep the current event // On-Air or Route the Fall Back depends upon the reason for not taking // the Preset Event to Air. // // Basically - if the preset event would be taken to air on a 'time-only' // basis but has not been // taken to air (pre-requisite for calling this function), then the // Current Event should be kept on-air, as it is reasonable to assume // that the reason the preset event was not taken to air // is because it is waiting for the manual take. // // If the preset event could not be taken to air on a 'time-only' basis // then a 'gap' in the schedule exists, hence route the fall back. // // If you've read this far then you must be:- // // a) Confused // // b) Determined to understand what's going on. // // To save you a lot of time complaining about this software // (and it's author), I'll come clean. // This is a bodge. // // Do I have a defense? ... well, it's gone midnight and the Swiss // will be on site in the morning for an acceptance test. // So I've put this bodge in, you know 'just for now' and I'll // come back and fix it later when I've got more time ... or will I?