1. Си / Говнокод #23484

    −6

    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
    //Program ".c"
    #include <sys/random.h>
    #include <stdio.h>
    
    int main() //non documented
    {
    	char a[10];
    	int r = getrandom(&a, 10, GRND_NONBLOCK);
    	if(r == -1) return r;
    	FILE *f = fopen("rnd", "w");
    	if(f == NULL) return -1;
    	r = fputs(a, f);
    	if(r == EOF) return r;
    	r = fclose(f);
    	if(r == -1) return r;
    	return 0;
    }

    pawn-master, 04 Ноября 2017

    Комментарии (0)
  2. Java / Говнокод #23483

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public static byte[] hexStringToByteArray(String s) {
        int len = s.length();
        byte[] data = new byte[len / 2];
        for (int i = 0; i < len; i += 2) {
            data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
                                 + Character.digit(s.charAt(i+1), 16));
        }
        return data;
      }

    Какой-то пидор написал эту функцию, к InetAddress.getByAddress не подходит нихуя!!

    pawn-master, 04 Ноября 2017

    Комментарии (0)
  3. Objective C / Говнокод #23482

    0

    1. 1
    2. 2
    3. 3
    ...
    ([dictionary stringObjectForKey:@"scale"].length > 0) ? (_scale = [dictionary stringObjectForKey:@"scale"]) : (_scale = @"1");
    ...

    Инициализация переменной с помощью тернарной операции.

    r1817821, 03 Ноября 2017

    Комментарии (22)
  4. VisualBasic / Говнокод #23481

    0

    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
    Const strMask="258258258258258258"
    mNumber = Clng(Left(mParam1,2))*100000+Clng(Right(mParam1,5))*10+Clng(mParam2)
    mResStr = Right("000000000"+Cstr(mNumber),9)
    For c=1 To 9
    	mRes1 = Cint(Mid(mResStr, c, 1))
    	mRes2 = Int(Rnd()*10)
    	strPreResult=Cstr(mRes1)+Cstr(mRes2)
    	mCheckSum = mCheckSum+mRes1*Cint(Mid(strMask, (c-1)*2+1, 1))
    	mCheckSum = mCheckSum+mRes2*Cint(Mid(strMask, (c)*2, 1))
    	Print strPreResult, mCheckSum
    	strResult=strResult+strPreResult
    Next c
    strResult = Left(strResult,9)+Right("00"+Cstr((mCheckSum Mod 95)Mod 100),2)+Right(strResult,8)

    Генератор случайных чисел.
    Почему везде такой не используется?

    lsd, 03 Ноября 2017

    Комментарии (101)
  5. PHP / Говнокод #23479

    +1

    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
    $probabilities=array();
    $get_items=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' ORDER BY `probability` DESC;");
    while($item=mysql_fetch_assoc($get_items)){
    $probabilities[$item['probability']]=0;
    }
    $dices=$probabilities;
    for($pi=100;$pi>=0;$pi--){
    foreach($probabilities as $probability=>$pstate){
    if(rand(1, 2)==2){
    if($pi<=$probability){
    $dices[$probability]=$dices[$probability]+1;
    }
    }	
    }
    }
    arsort($dices, SORT_NUMERIC);
    $probability=reset(array_keys($dices));
    $get_prize=mysql_query("SELECT * FROM `items` WHERE `iid` IN(".mysql_real_escape_string($case['items']).") AND `status`='1' AND `count`>'0' AND `probability`='".$probability."' ORDER BY RAND() LIMIT 1;");

    Написал с нуля на заказ движок для очередного детского говноказино (розыгрыш пикселей для игр в "Steam").
    Заказчик умолял сделать возможность управления вероятностью выпадения того или иного предмета (в процентах), что я и сделал. Вышеприведённый алгоритм как раз отвечает за выбор приза в соответствии с прописанными в настройках вероятностями. Сейчас кажется, что решение не самое "изящное".
    Есть, что заметить по поводу алгоритма?

    AnalPerOral, 02 Ноября 2017

    Комментарии (79)
  6. PHP / Говнокод #23478

    0

    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
    if(@isset($_GET['id'])){
    $myconns=@mysql_connect(\"127.0.0.1\",\"user_noprivs\",\"unbr34k4bё3!\") or
    die(\"sorry can't connect\");
    @mysql_select_db(\"cms\") or die(\"sorry can't select DB\");
    $sql_query = @mysql_query(
    \"select content from content_table where id=\".$_GET['id']) or die(\"Sorry
    wrong
    SQL Query\");
    // oops SQL Injection-^
    while($tmp = @mysql_fetch_row($sql_query))
    echo $tmp[0]; //echoes the result as HTML code
    }else{
    echo \"Welcome to My Bank
    \".Login.\"\";
    }

    Оригинал: ru.wikipedia.org/wiki/SiXSS

    Оригинал оригинала: securitylab.ru/analytics/216380.php?el_id=216380&VOTE_ID=104&view _result=Y

    Смысл не в смысле кода, а в том, как можно было вообще умудрится так скопировать текст, что бы везде было экранирование

    d_fomenok, 02 Ноября 2017

    Комментарии (0)
  7. Куча / Говнокод #23477

    −7

    1. 1
    Про убогость ООП подхода.

    Итак, вот допустим наследование. Есть всякие там тупые примеры ООП, типа "котик и собачка наследуется от четырехногих" и проч., где подобный бред вполне работает. Но давайте попробуем рассмотреть более интересные ситуации.

    Допустим что мы пишем некую игру. В игре есть некое оружие, например там есть огнестрел и дубинки. И мы делаем ружье, которое одновременно и огнестрел и дубинка, т.е. ружьем можно и как палкой уебать, и пальнуть как из револьвера. У родительского класса "огнестрел" есть свойства, типа дальности выстрела, точности, используемых боеприпасов, уровень прочности(износ), вес, наносимый урон при попадании. У дубинки есть свойства длины дубинки, уровень прочности(износ), вес, наносимый урон при ударе. Вес для ружья нам нужен только один, т.е. нет смысла делать два "веса" одному предмету. И огнестрел и дубинка наследуется от родительского класса "объект инвентаря", в общем тут ромбовидное наследование, которое в разных языках решается разными способами. Ну ок, допустим что мы там каким-то образом указали компилятору некоего языка X, что наследовать свойство "вес" надо лишь один единственный раз, как и прочие хрени, которые являются общими для родительского класса "объект инвентаря". Теперь надо решить с прочностью. Не все "объекты инвентаря" в этой игре имеют свойство прочности, есть например какие-то расходные материалы, типа патронов, для которых понятие прочности неприменимо. Использование ружья как дубинки изнашивает его не таким же самым образом, как использование ружья как огнестрела, но при этом слишком большой износ ружья-как-дубинки может настолько повредить его, что как огнестрел его уже и не поиспользовать из-за погнутого ствола. Но использование ружья как огнестрел никак на износ ружья-как-дубинки не влияет, типа это механический износ спускового механизма, износ ствола при стрельбе...

    j123123, 02 Ноября 2017

    Комментарии (255)
  8. Python / Говнокод #23476

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if cur == 'EUR':
            alldata['total'] = alldata['total'] * Decimal(58)
            alldata['cost'] = alldata['cost'] * Decimal(58)
        elif cur == 'USD':
            alldata['total'] = alldata['total'] * Decimal(62)
            alldata['cost'] = alldata['cost'] * Decimal(62)
        elif cur == 'GBP':
            alldata['total'] = alldata['total'] * Decimal(71)
            alldata['cost'] = alldata['cost'] * Decimal(71)
        elif cur == 'UAH':
            alldata['total'] = alldata['total'] * Decimal(2)
            alldata['cost'] = alldata['cost'] * Decimal(2)

    Простой конвертер валют своими руками!
    💩-💩 и в продакшен!!!

    farmspam, 02 Ноября 2017

    Комментарии (10)
  9. JavaScript / Говнокод #23475

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public do(action: 'un' | 're'): void {
        const result = (<any>this._appApi.app.documentManager.current)[action + 'do']();
        if (!result.success) this._toastService.error(result.errorMessage, `Ошибка ${action}do`);
    }
    
     <button (click)="do('un')" title="Отменить"><i class="material-icons md-36">undo</i></button>
     <button (click)="do('re')" title="Повторить"><i class="material-icons md-36">redo</i></button>

    mazhuravlev, 01 Ноября 2017

    Комментарии (51)
  10. bash / Говнокод #23474

    +1

    1. 1
    Кегдан вернулся, давайте радоваться вместе!

    d_fomenok, 01 Ноября 2017

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