1. Лучший говнокод

    В номинации:
    За время:
  2. JavaScript / Говнокод #24555

    −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
    import Router from 'koa-router';
    import pmongo from 'promised-mongo';
    
    const router = new Router();
    const db = new pmongo('localhost/my-app');
    
    const dataRequired = function *(next) {
      if (typeof this.request.body['data'] === 'object') {
        yield next;
      } else {
        this.throw(400, 'Request data is required');
      }
    };

    Валидация, js-way

    https://github.com/axept/open-parse

    > Our developers have higher professional education and are experts in any of those technology

    Fike, 30 Июля 2018

    Комментарии (2)
  3. JavaScript / Говнокод #24459

    −2

    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
    function inhify(guest, inho = 'inho') {
        guest = guest.replace(/[aeiou]$/ig, '');
        return guest + inho;
    }
    
    function test(guest, guestinho) {
        var res = inhify(guest);
        if (res !== guestinho) {
            console.error(`Expected ${res} to be ${guestinho}`);
        } else {
            console.log(`${guest} => ${guestinho}`);
        }
    }
    
    test('guest', 'guestinho');
    test('guesto', 'guestinho');
    test('bormand', 'bormandinho');
    test('barop', 'baropinho');
    test('anus', 'anusinho');
    test('viagra', 'viagrinho');
    test('pohui', 'pohuinho');

    guestinxo, 08 Июля 2018

    Комментарии (2)
  4. Куча / Говнокод #24366

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    -define(MCGA, group_leader(whereis(user), self())). %% Makes CT great again
    
    test_foo(_Config) ->
      ?MCGA,
      ...
    
    test_bar(_Config) ->
      ?MCGA,
      ...

    Известный в узких кругах компонент-тест фреймворк "common test" (aka ct) предназначен для интерпрайза. Поэтому в нём нельзя просто взять и вывести логи в консоль, все аутпуты улетают в модные html файлы, но ни у кого не было времени читать их. Снаут прошерстила кучу форумов, где эту проблему предлагали решать чуть ли не патчингом beam файлов. Но решение куда проще.

    CHayT, 08 Июня 2018

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    public function isDeleted($isDeleted = null)
    {
        $result = $this->_isDeleted;
        if ($isDeleted !== null) {
            $this->_isDeleted = $isDeleted;
        }
        return $result;
    }

    magento,core

    gasay, 07 Июня 2018

    Комментарии (2)
  6. Куча / Говнокод #24289

    −2

    1. 1
    2. 2
    https://hsto.org/webt/ho/0r/ms/ho0rms80hfva2hnwlptdhoz4ysy.png
    https://habr.com/company/rambler-co/blog/358762/

    Всё что можно, какие есть технологии и базы данных, захуярили в одну схему. Не хватает только "PHP" для полной картины.

    minusinho, 18 Мая 2018

    Комментарии (2)
  7. Python / Говнокод #24190

    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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    class Task:
    
        def set_activity( activity_method ):
            # проанализировать исходный код activity_method 
            # разделить цепочку команд на N частей
            pass
    
        def _get_parts_number():
            return N
    
        def _run_part( part_num ):
            # выполнить часть part_num
            pass
    
    
    def run(tasks):
    
        execution = True
        part_num = 0
        while execution:
            execution = False
            for task in tasks:
                if part_num < task._get_parts_number():
                    task._run_part( part_num )
                    execution = True
            part_num += 1

    Попросил коллегу реализовать concurrency многозадачность, он на питоне нагавнякал такое.

    ded_mazay, 21 Апреля 2018

    Комментарии (2)
  8. Куча / Говнокод #24177

    −106

    1. 1
    Кто желает вывернуть мой похотливый, жадный до хуёв анус наизнанку?

    Нужен крепкий, выносливый самец с толстым.

    vvkir, 21 Апреля 2018

    Комментарии (2)
  9. PHP / Говнокод #24081

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ($condition) {
      // если условие верно, сохраняем признак верности
      $options[ $m ] = '';
    } else {
      // если неверно
      $options[ $m ] = 'none';
    }

    Почему-то программист решил, что в случае верного условия нужно сохранять не TRUE, не 1, не что-то иное, а пустую строку.
    А если условие ложно - строку 'none'

    MikleSmart, 06 Апреля 2018

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

    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
    const uuid = require('uuid');
    const param = process.argv[2];
    const count = Number(param);
    if(typeof count !== 'number' || isNaN(count) || count < 0) {
        console.error(`bad number parameter ${param}`);
        return;
    }
    console.log('namespace LotsofClass {');
    for(let i = 0; i <= count; i++) {
        console.log(`class Class${uuid.v4().replace(/-/g, '')}{}`);
    }
    console.log('}');

    mazhuravlev, 05 Апреля 2018

    Комментарии (2)
  11. Swift / Говнокод #24070

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if gameResults != nil && (gameResults?.count)! > 0 {
                
                for gameResult in self.gameResults! {
                    let newLine = "\(gameResult.gameSession!.gameTable!.tableNumber!) / \(gameResult.sessionHand!.endTime!) / \(Utils.getShortGameName(gameName: gameResult.gameSession!.game!.name!)),\(String(describing:gameResult.sessionHandResult!.score!.doubleValue)),\(String(describing:gameResult.sessionHandResult!.profitSum!.doubleValue)),\(String(describing:gameResult.sessionHandResult!.credits!.doubleValue))\n"
                    csvText.append(newLine)
                }
            }

    Как говорится береженого бог бережет... даже если опционал не ниловый

    astmus, 04 Апреля 2018

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