1. C++ / Говнокод #5565

    +166

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    // 0. original version:
    struct Subscriber {
    	ServiceConfig *services;
    };
    
    struct ServiceConfig {
    };
    
    // reported problem: as per doc, Customer may have multiple service configurations, yet we can configure only one.
    
    // 1. next "fixed" version, as delivered to the customer:
    struct Subscriber {
    };
    
    struct ServiceConfig {
    	Subscriber *subs;
    };
    
    // ticket reopened: wtf. changing services for one customer, affects others!!
    
    // 2. next "fixed" version, as delivered to the customer:
    struct Subscriber {
    	ServiceConfig *services;
    };
    
    struct ServiceConfig {
    };
    
    // ticket reopened: @#$%^& [*BEEP*] @#$%^& [*BEEP*] @#$%^&*
    
    // 3. finally:
    struct Subscriber {
    };
    
    struct ServiceConfig {
    };
    
    struct SubscriberServiceConfig {
    	Subscriber *subs;
    	ServiceConfig *services;
    };

    если бы лично не лицезрел эту переписку (навечно задокументированую в аналах вершн контрол) между нашими разработчиками и консультантами работающими на инсталяции у кастомера, нивжисть бы не поверил что такое даже может иметь место.

    самое страшное в этой истории, что консультанты разработчикам с самого начала сказали что в коде данные организованы неправильно по сравнению с тем как данные хранятся в базе.

    Запостил: Dummy00001, 07 Февраля 2011

    Комментарии (9) RSS

    Добавить комментарий