• Проблемы с установкой некоторых pip [Errno29], что можно предпринять?

    @alekssamos
    Программист любитель
    У меня есть другое решение: https://ish.app/

    apk add python3 curl
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python3 get-pip.py


    Всё устанавливает отлично! Даже nodejs, PHP, GO и прочие работают! И даже tox, virtualenv работает! И даже тесты проходят, вау!
    Только не забывайте устанавливать программы, такие как git, там по умолчанию ничего нет.
    Ответ написан
    1 комментарий
  • Корректен ли данный код, возможна ли оптимизация?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    В целом неплохо, оптимизировать тут нечего, ибо программа тривиальная и работает так быстро как это только возможно.

    По коду есть комментарии:
    1)
    if ((valVAT == 10) || (valVAT == 18) || (valVAT == 20)) {
    ...


    Тут у вас один большой мега-if в котором что-то делается. Гораздо проще для понимания и визуально читабельнее, если делать "ранний выход". Вместо if(a) { много кода } стоит писать:
    if (!a) {
      continue; // или return; если это в функции.
    }
    // много кода.


    У вас стоит сначала проверить, что valVAT == 0 и выйти из цикла через break в этом случае. Потом проверить, что valVat != 10 && valVAT != 18 && valVAT != 20 и вывести сообщение об ошибке и сделать continue. Дальше уже идет тело цикла с вычислениями.

    2) Вместо if(chng == 1) {} else if (chng == 2) {}... стоит использовать конструкцию
    switch (chng) {
    case 0:
      // код
      break;
    case 1:
      // код
      break;
    case 2:
      // код
      break;
    default:
      // сообщение об ошибке
      continue;
    }


    3)
    sleep(1) после вывода сообщения об ошибке, на мой взгляд не нужен. Зачем это? Заставить пользователя прочитать сообщение об ошибке?
    Ответ написан
    4 комментария
  • Кто эти люди из списка "пригласить эксперта"?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Им в удовольствие помогать другим, или они имеют с этого некоторый профит?

    Профитов в целом два:
    1. Когда вы кому-то что-то объясняете - сами лучше разбираетесь, учитесь приводить аргументы, ссылки, примеры. По ходу дела узнаете что-то новое о своих или чужих инструментах. Это помогает держать себя в тонусе (а начинающим помогает развиваться), особенно если текущая работа по большей части рутинная и не требует шевеления мозгами.
    2. Для понимающих работодателей такой профиль - это плюсик в резюме, подтверждающий то, что человек что-то знает, а не просто говорит, что знает.
    Ответ написан
    Комментировать