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

    Всего: 94

  2. C++ / Говнокод #15885

    +17

    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
    cKeyCfg::types_t cConfiguration::SearchInType(string type)
    {
        CTint i = 0;
        const CTbyte * types[] = { "S", "D" };
    
        for(i = 0; i < sizeof(types)/sizeof(types[0]); i++) {
          if ( strcmp(type.c_str(),types[i]) == 0) {
            switch (i) {
            case 0: // Is string
              return cKeyCfg::stringa;
            case 1: // Is decimal
              return cKeyCfg::decimale;
            default: //Default value VT_BSTR
              return cKeyCfg::unknow;
            }
          }
        }
        return cKeyCfg::unknow;
    }

    сделано на родине Fiat'а.

    Dummy00001, 02 Мая 2014

    Комментарии (6)
  3. bash / Говнокод #15390

    −122

    1. 1
    find $WORK/LOG -name "*.log" | grep "^app_"

    и писали же вроде это не в 2 утра...

    Dummy00001, 07 Марта 2014

    Комментарии (0)
  4. bash / Говнокод #15389

    −126

    1. 1
    2. 2
    3. 3
    4. 4
    while [ 1 ]
    do
      # ....
    done

    Прикололо. Не уверен что автор даже знает почему/как именно это работает.

    Dummy00001, 07 Марта 2014

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

    −131

    1. 1
    2. 2
    3. 3
    4. 4
    test -x /bin/whoami && WHO=/bin/whoami
    test -x /usr/bin/whoami && WHO=/usr/bin/whoami
    test -x /usr/ucb/whoami && WHO=/usr/ucb/whoami
    ME=`$WHO`

    в фирме почему-то никто про $LOGNAME не знает. некоторые знают про не очень портабельный $USER. поправляю скрипты уже Н лет - но все без толку.

    Dummy00001, 07 Марта 2014

    Комментарии (3)
  6. bash / Говнокод #15387

    −124

    1. 1
    2. 2
    out=`$SOME_PROPRIETARY_TOOL $LOTS_OF_PARAMETERS 2>&1`
    out=`echo $out | awk '{print $23}'`

    из официального скрипта. и мне вот ту $SOME_PROPRIETARY_TOOL надо править. пальцев до 23х считать не хватает.

    Dummy00001, 07 Марта 2014

    Комментарии (8)
  7. bash / Говнокод #15373

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    (
       if [ ! -z "$UNIX95" ] ; then
          unset UNIX95
       fi
       ...
    )

    Продолжение темы "Java программисты пишут на шелле": в подшелле, убрать переменную, если поставлена.
    А то вдруг шелл какой NullPointerException бросит.

    Dummy00001, 06 Марта 2014

    Комментарии (22)
  8. bash / Говнокод #15360

    −127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if [ $PLAIN -eq 0 ] ; then
      if [ $LOGDIR -eq 0 ] ; then
        if [ $LOGLIST -eq 0 ] ; then
            ShowWarning 'at least one of the follwing paramters must be given: plain logdir, loglist'
            ShowUsage
        fi
      fi
    fi

    Java программист пишет шел скрипт.

    PS кто подумал что надо было через `-a` (логический and) сделать, вы тоже слишком долго на С-образных языках программировали.

    Dummy00001, 05 Марта 2014

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

    +71

    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
    private byte[] readBytes(InputStream pInputStream, int pLength, int pRetryCounter) throws IOException, WhateverException
    {
        byte[] bytes = new byte[pLength];
        int bytesRead= pInputStream.read(bytes, 0,pLength);
    
        if (bytesRead == -1)
        {
            throw new WhateverException("End of InputStream has been reached");
        }
    
        if (pLength != bytesRead)
        {
            byte[] bytesReadNextAttempt = readBytes(pInputStream, pLength-bytesRead, pRetryCounter + 1);
            if (pLength != bytesRead + bytesReadNextAttempt.length)
            {
                // less bytes available; connection was closed
                throw new WhateverException( ... );
            }
            System.arraycopy(bytesReadNextAttempt, 0, bytes, bytesRead, bytesReadNextAttempt.length);
        }
        return bytes;
    }

    поддержка паршиал ресив. такого "метода" я еще не видел.

    ЗЫ а че в жабе нету никакого MSG_WAITALL?

    Dummy00001, 22 Января 2014

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

    +132

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    rc = system
       (
       "test "
       "`ls -1 $WORKDIR/somedir/ | wc -l` = 1"
       " -a "
       "`ls -1 $WORKDIR/somedir/*/somefiles.* | wc -l` = 1"
       );
    ASSERTM( rc != -1, "check for number of <dirs>" );
    ASSERTM( rc == 0, "number of <some> files is greater than 1" );

    по мотивам http://govnokod.ru/14374

    из теста. да, можно было на С написать. да, мне было просто лень.

    Dummy00001, 17 Января 2014

    Комментарии (100)
  11. Perl / Говнокод #14052

    −161

    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
    BEGIN
    {
        my $gGls; # Hash reference for global variables, settings.
    
        # To get a handle to access the global hash.
        sub getgGls
        {
            return $gGls;
        }
    
        # "Fasten" the script name on $gGls->{ 'gScriptName' } instead of the perlish awkward $0.
        $gGls->{ 'gScriptName' } = $0;
        
        # ...

    синглтоны для перла. (плюс польская нотация.)

    на книги по паттернам надо заставлять цеплять наклейки: brain damage caused by use of the design patterns might be permanent!

    Dummy00001, 22 Октября 2013

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