Mistři v programování na #hovnokod

Metoda na vytváření bestie (parametry jsem vynechal, ty jsou v tomto případě celkem normální). Podobných metod je dál v postižené třídě víc, některé mají podobně luxusní návratové hodnoty a některé pro změnu mají takovéhle parametry. Komentář široko daleko ani jeden - jsou to jen private metody, takže když bylo těžké je napsat, tak musí být těžké je i číst!

    private Map<String, Triple<String, Map<String, String>, Pair<Set<Triple<ProductLinkType, String, String>>, Set<Triple<ProductLinkType, String, String>>>>> getTripleMap(

Anonymous,


Anonymous,

Error handling level recursion...

public Database getDatabase() {
    try {
        ...
        database = ...
        ...
    } catch (Throwable th) {
        Log.e(...);
        return getDatabase();
    }
    return database;
}

Anonymous,

Někdo na backendu prohodil hodnoty chybových kódu. Je vcelku zajímavé, že to 5 let nikomu nevadilo a lidi, co to postupně opravovali na frontendu se s tím v textech informačních hlášek pro 15 různých úvěrových produktů různě vyrovnávali..... V testingu to taky lidem moc nevadilo. Akorat jsme uživatelům psali, že když si chtějí půjčit 500 Kč, že to je moc velká částka na pujčku.

String MOC_MALA_CASTKA_NA_PUJCKU_ERROR_CODE = "MOC_VELKA_CASTKA_NA_PUJCKU";
String MOC_VELKA_CASTKA_NA_PUJCKU_ERROR_CODE = "MOC_MALA_CASTKA_NA_PUJCKU";

Anonymous,

Miluji funkce s nazvem hack... A co tenhle pattern: a = b; if(x) -> a=b; else if(y) -> a=b; c = d;

    private void hackDataAutoExtraFup(Service service, Product product) {
        service.setServiceStatus(IntegrationUtils.operationMapClient.get(OrderItemOperationType.ADD));
        if (product.getOrderItemOperation() == OrderItemOperationType.UPDATE) {
            service.setServiceStatus(IntegrationUtils.operationMapClient.get(OrderItemOperationType.ADD));
        } else if (product.getOrderItemOperation() == OrderItemOperationType.SUSPEND ||
                product.getOrderItemOperation() == OrderItemOperationType.REMOVE ||
                product.getOrderItemOperation() == OrderItemOperationType.REMOVE_ON_END_OF_PERIOD) {
            service.setServiceStatus(IntegrationUtils.operationMapClient.get(OrderItemOperationType.ADD));
            setParameterValue(service, ProductIvmAutoExtraFup.MAX_RENEWAL_COUNT, "0");
        }
    }

Anonymous,