Bugs catalog
2009-06-02 23:55:42 by Luca Tagliaferri
In ordine di gravità decrescente
- Arian 5 (sottotitolo: "Come è andata con l'upgrade del sistema? Quale upgrade?")
Spesso siamo convinti che fare l'upgrade di un qualche componente del computer riesca a curare i malanni del nostro software.
Mai niente di più sbagliato!!! Spesso un upgrade riesce a devastare persino quello che prima funzionava!! - Baco * Baco^-2 * (Baco^2 * Baco^-1)=1 (sottotitolo: "Ma come faceva a funzionare?")
Un programmatore è in grado di combinare inconsapevolmente i bachi assieme in una maniera armonica tale per cui tutti sembra funzionare.
In realtà ci si trova di fronte ad un castello di carte; appena si tocca una riga di codice o si corregge uno dei bachi tutto crolla. Di fronte alla catastrofe abitualmente ci sono due approcci:- Rimettere "a posto" il baco corretto (di solito questo approccio porta al baco numero 6
- Correggere tutti i bachi fino ad una soluzione stabile
- Baco transeunte o bizantino (sottotitolo: "Ieri a casa mia funzionava!!!")
E' uno dei bachi più insidiosi: un puntatore dereferenziato in maniera erronea può far si che un software funzioni in maniera egregia i giorni pari dei mesi dispari degli anni bisestili e solo a casa del programmatore. Ovviamente il software di cui sopra smette istantaneamente di funzionare nella demo di fronte al presidente dalla RichSoft che aveva intenzione di comprare il tuo software! - Inconsistenza delle specifiche (sottotitolo: "Scongelate i polli")
Ci sono dei dirigenti convinti che persino con specifiche sbagliate il nostro eroe programmatore sia in grado di produrre codice corretto; niente di più sbagliato (daccordo che i programmatori sono animali che alimentati con caffè producono codice però almeno diciamo loro che cosa si pretende da una applicazione). Tanto questo baco quanto il successivo portano alla creazione di codice funzionante con le "toppe". - Nullità delle specifiche (sottotitolo: "Oggi? Ma la demo non è domani?")
Alcuni teorici sostengono che questo baco sia in realtà un sottoinsieme del precedente: può essere ma io amo sottolineare come ci siano persone che pensano che i programmatori oltre che di un apparecchio che produce codice siano dotati anche di una palla di vetro che aiuta loro a predire le specifiche del software in esame. - Baco^-1 (sottotitolo: "Quale baco?")
Per motivi del tutto inspiegabili il cervello di un programmatore non riesce a percepire come i malfunzionamente del software partorito dalla propria mente possano causare devastanti conseguenze; con pervicacia un softwarista vero difende il proprio programma anche di fronte all'evidenza della catastrofe. - Dailywtf (sottotitolo: "Ma questo qui che caspita ha combinato?")
Esistono programmatori in grado di scrivere "perle di incoerenza" come le successive:enum Bool
{
True,
False,
FileNotFound
};
public enum Editable {
YES,
NO,
DISABLED,
READONLY;
}
Che dire a costoro se non una preghiera di continuare a deliziarci con prodotti di questo tipo ?!?!
LOL! Il 5, non so perché, mi è molto familiare. :)
Inspiegabile vero !?!? :D