1. Perl / Говнокод #21223

    −28

    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
    sub deprecate_marks
    {
        my ($marks, $task) = @_;
        # дополнительное задание -- не уменьшаем оценку
        $_->{days_late} < 0 ? $_->{days_late} = 0 : undef for @$marks;
        $task->{half_life} or return ($marks->[0] || {})->{points};
        my ($dep_points, $prev_points) = (0, 0);
        for my $m (reverse @$marks)
        {
            # Раньше вычиталось dep_points, что приводило к необоснованному завышению оценки.
            # Чтобы не менять старые данные, исправляем ошибку только для новых заданий.
            my $p = $task->{after_marks_fix} > 0 ? $prev_points : $dep_points;
            my $diff = max($m->{points} - $p, 0);
            $prev_points = $m->{points};
            my $dep_coeff = $task->{half_life} / ($m->{days_late} + $task->{half_life});
            $dep_points += $diff * max(($task->{deprecation_limit} || 10) / 100, $dep_coeff);
            $m->{dep_points} = sprintf '%.1f', $dep_points;
        }
        $dep_points;
    }

    Снижение баллов за задания по программированию

    Запостил: askfail, 21 Сентября 2016

    Комментарии (18) RSS

    • показать все, что скрытоНа этом говне до сих пор пишут?
      Ответить
      • Каждый день пишу.
        Ответить
      • Привет, спамер. Этого говна хватает в любой интернет-компании, созданной до 2005 года.
        https://yandex.ru/jobs/vacancies/dev/dev_perl_main/
        https://corp.mail.ru/ru/jobs/vacancy/420/

        Ты мог бы это знать, но ты умеешь только срать в интернете и хлебать мамкины щи.
        Ответить
        • Зацените, какую вакансию я нашел у рамблера https://rambler-co.ru/jobs?vacancy_id=352
          > Руководитель отдела
          > Сильные навыки программирования на Python
          > Умение использовать готовые библиотеки для различных стеков
          > Знание SQL
          > вы будете единственным machine learning специалистом на проекте

          > будущий может быть руководитель будущего возможно отдела разработки алгоритмов машинного обучения
          Ответить
          • >Умение использовать готовые библиотеки
            > Умение использовать готовые библиотеки для различных стеков
            > Каких - не называется
            Ответить
          • после того как у рамблера спиздили базу данных ПАРОЛЕЙ В ОТКРЫТОМ ВИДЕ я больше не могу считать их IT компанией

            если компания держит пароли пользователей в базе в открытом виде то это компаний шклололо-ламеров, но никак не IT компаний
            Ответить
            • Бароп, возможно у них были на это причины. Не надо считать себя гением, а их дураками. Ведь если ты такой умный, то почему ты такой бедный?
              Ответить
              • Не существует причин хранить пароли пользователей в открытом виде, равно как не существует причин разыменовывать болтающийся указатель, причин оставлять SQL инъекцию в коде или причин обращаться на удаленный сервер из GUI треда.

                Это азы программирования.

                И, кстати, я сказочно богат. У меня есть синее небо, птицы в нем, солнце, целый мир
                Ответить
                • Бароп, общение с икс-сервером происходит через tcp сокет. Нахуя спавнить второй тред, если можно работать с иксами и удаленным сервером через еполл?
                  Ответить
                  • >> общение с икс-сервером происходит через tcp сокет.
                    достаточно редко. Обычно это unix domain socket если это всё на одной машине.

                    >> и удаленным сервером через еполл?
                    Ладно, подъебнул)
                    --или причин обращаться на удаленный сервер
                    ++или причин БЛОКИРУЮЩЕ обращаться на удаленный сервер

                    так лучше?
                    Ответить
                    • Бароп, блокирующие вызовы не нужны. Нормальные программисты пишут асинхронный код.
                      Ответить
                      • а в прочем ладно
                        Ответить
                      • Да-да, а еще они всегда пишут документацию, юнит тесты и не пишут багов:)

                        Если серьезно то далеко не все ЯПы позволяют КРАСИВО писать аснхронный код. Иногда асинхронность приводит к спагетти, и тогда приходится ею жертвовать.
                        Ответить
    • >half_life
      Период полураспада задания? Тогда правильная формула такая:
      $m->{mark} = 5 * pow(2, -$m->{days_late} / $m->{half_life})
      Ответить
    • Кто юзает перл
      тот педик
      Ответить

    Добавить комментарий