1. Список говнокодов пользователя someone

    Всего: 116

  2. Java / Говнокод #16504

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    PYLayerPanel layerPanel = pyLayer.getLayerPanel(); 
    int width = layerPanel.getWidth();
    int height = layerPanel.getHeight();
    double gScale = 1.0;
    if(layerPanel != null){
    	gScale = layerPanel.getViewport().getScaleFactor();
    }

    Автор вспомнил, что надо бы проверять на null. Только немного не там...

    someone, 08 Августа 2014

    Комментарии (13)
  3. Java / Говнокод #16498

    +123

    1. 1
    public <T extends IOrderSubmitRequest & IApiStoreRef> Order buildOrderFromSubmitRequest(final T request) { ... }

    Типы-пересечения для бедных. Нужна была функция, работающая с несколькими классами без общего предка, реализующими сразу два интерфейса.

    someone, 07 Августа 2014

    Комментарии (27)
  4. JavaScript / Говнокод #16404

    +129

    1. 1
    if (i.toString().indexOf('.') == -1) { ... }

    Ещё один способ проверить, целое ли число.

    someone, 22 Июля 2014

    Комментарии (94)
  5. Java / Говнокод #16354

    +119

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private boolean isInOutConnected(StopPosition stopPoint) {
        boolean ret = false;
        List<Port> l = stopPoint.getLoadingPorts();
        
        if (l != null && l.size() > 0) {
            ret = true;
        }
        
        return ret;
    }

    someone, 16 Июля 2014

    Комментарии (4)
  6. Java / Говнокод #16353

    +118

    1. 1
    // TODO This is zalipuha:

    someone, 16 Июля 2014

    Комментарии (4)
  7. C++ / Говнокод #16124

    +58

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Poor man' link time code generation:
    
    #include "main.cpp"
    #include "frame.cpp"
    #include "func.cpp"
    #include "account.cpp"
    #include "advancer.cpp"
    #include "audit.cpp"
    #include "cpio.cpp"
    
    g++ -whole-program -o my books.exe -O3 includeall.cpp

    http://blogs.msdn.com/b/oldnewthing/archive/2014/06/06/10531604.aspx

    someone, 07 Июня 2014

    Комментарии (5)
  8. Java / Говнокод #15570

    +119

    1. 1
    2. 2
    3. 3
    public static RuntimeException propagate(Throwable throwable)
    
    This method always throws an exception. The RuntimeException return type is only for client code to make Java type system happy in case a return value is required by the enclosing method.

    Давно пора сделать аннотацию типа noreturn, чтобы компилятор не ругался и подсвечивал мёртвый код.

    someone, 25 Марта 2014

    Комментарии (34)
  9. Java / Говнокод #15538

    +117

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public int hashCode() {
        int h = hash;
        if (h == 0 && value.length > 0) {
            char val[] = value;
    
            for (int i = 0; i < value.length; i++) {
                h = 31 * h + val[i];
            }
            hash = h;
        }
        return h;
    }

    Из исходника java.lang.String.

    Вопрос: зачем нужна временная переменная val? Это какая-то особая уличная магия с оптимизацией?

    someone, 20 Марта 2014

    Комментарии (39)
  10. Си / Говнокод #14552

    +116

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() {
    	printf("%s\n", NULL);
    	return 0;
    }
    
    
    
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() {
    	const char str[] = "%s\n";
    	printf(str, NULL);
    	return 0;
    }

    Эквивалентные программы такие эквивалентные. А всё из-за printf optimization в GCC.

    Стандарт, кстати, разрешает, потому что это UB.

    Вообще пора создать ub.govnokod.ru и складывать туда примеры разного поведения на каждое UB из стандарта.

    someone, 13 Февраля 2014

    Комментарии (10)
  11. Куча / Говнокод #14438

    +120

    1. 1
    2. 2
    3. 3
    4. 4
    removeTSdbTables(con, yesIknowWhatIamDoing=FALSE)
    dropTStable(con, Table, yesIknowWhatIamDoing=FALSE)
    
    The arument yesIknowWhatIamDoing defaults to FALSE and must be set to TRUE or the function will return an error.

    http://www.inside-r.org/packages/cran/TSsql/docs/dropTStable

    someone, 28 Января 2014

    Комментарии (85)