• JS. Централизованная обработка ошибок

    alienator
    @alienator
    Никто за вас не решит, что лучше.

    Конечно, можно и нужно иметь try/catch на самом верхнем уровне. И дать ему какое-то полезное поведение — записать в лог, вывести красивое окошко и т.п., чтобы не пугать пользователя системными сообщениями.

    Это необходимый минимум.

    А дальше смотрите глубже. Что вам даст функция-обработчик внутри объекта исключения? Во многих случаях она уже бесполезна; она слишком далеко от точки возникновения ошибки, чтобы попробовать ее исправить (например, вызвать код повторно со значением по умолчанию, подождать освобождения ресурса и т.п., короче, какой-нибудь while/try).

    Перед каждым вызовом функции, которая может выбросить исключение, перед каждым входом в компонент у вас есть три пути:

    • обработать какие-то (или все) исключения здесь
    • обработать и передать выше (повторный throw)
    • ничего не делать (передать сразу наверх)


    Вам придется опускать обработку исключений глубже хотя бы там, где понадобится finally код. И там, где вы можете сделать что-то осмысленное, прежде чем полностью отваливаться с криками в лог.

    И вот там, поглубже, внутри компонента, уже действует ряд разумных рекомендаций:

    1. Не ловить всё подряд. Обрабатывать только те исключения, с которыми известно, что делать. Если не совсем известно, делать re-throw.

    2. re-throw делать аккуратно. Не надо, опять же, хватать больше от жадности, а потом пропускать исключения ненужных классов. Для ява-скрипта это выражается вот в чем:

    Нехорошо:
    try {
         // ...
    } catch (e) {
         if (! e instanceof MyError) {
              throw e;
         }
        // ...
    }
    


    Хорошо:
    try {
         // ...
    } catch (e if e instanceof MyError) {
        // ...
    }
    


    3. То, что вы делаете в finally, важнее, чем то, что делаете в catch. Есть что подчистить — надо подчистить.

    4. Не надо терять информацию об ошибке (генерить или ре-генерить исключение более широкого класса). Правда, при разработке либы лучше наоборот, свои мелочи держать в себе и заменять низкоуровневые ошибки на более общие.

    Ну, что хотел сказать, то сказал. Удачи.
    Ответ написан
    3 комментария
  • Оценка уровня программиста?

    Есть некое количество компаний, которые занимаются независимым тестированием и сертификацией, где можно оценить различные скиллы, в том числе программерские, или пригодность для той или иной роли (роль это некий набор требуемых скиллов). Раньше популярным был brainbench.com — там устраивали бесплатные тестирования в качестве промоушена и даже высылали сертификаты. В России получение брейнбенчевских сертификатов было национальным видом спорта. Сейчас, похоже, все только за деньги, но можете попробовать поискать какие-то стартапы, они для раскрутки тоже могут проводить бесплатное тестирование.
    Ответ написан
    Комментировать
  • Оценка уровня программиста?

    sainnr
    @sainnr
    Позвольте и мне высказать свою точку зрения. Как правильно отметили выше, объективно оценить знания программиста по числовой шкале (хоть по 100..0-бальной), пожалуй, невозможно. Да и наверное не нужно, так как в каждой компании требуют различные знания (кто еще кроме компаний будет вас оценивать?).

    Тем не менее, можно выделить несколько категорий знаний, по которым можно составить более-менее объективную картину программиста. Например, сюда можно отнести:
    — владение различными ЯП;
    — опыт работы с каждым из них;
    — работа в команде;
    — участие в OpenSource-проектах;
    — наличие собственных разработок;
    — знание паттернов;
    — знание алгоритмов, структур данных;
    — знание методологий разработки;
    — знакомство с системами контроля версий, тестирования;
    — и т.д.

    Несомненно, картина получается далеко не полная — важную роль играют, например, и личные качества или другие индивидуальные характеристики, + в каждой организации требуется что-то свое. Но по вышеперечисленным категориям можно сопоставить себя и другого программиста, понять свой уровень относительно кого-то еще.

    По поводу места работы. Лично мое мнение такое, что если вы хотите быть высококвалифицированным специалистом конкретной области (в данном случае, программистом), то лучше работу искать в «профильных» организациях (для данного случая, занимающихся разработкой софта). По своему (не особо богатому пока) опыту уже могу сказать, что специфика работы в таких «профильных» организациях сильно отличается от «непрофильных».

    Наверное, это можно объяснить тем, что профильные живут тем, что получают деньги со своих продуктов, и программисты в них играют ключевую роль. Поэтому, самой компании выгодно, чтобы их специалисты развивались и были высококвалифицированными и выполняли задачи разработки как можно эффективнее («работает — неплохо, но старайся сделать еще лучше, думай как»).

    В непрофильных же — работа программиста чаще всего необходима для поддержания внутренней информационной инфраструктуры, от ИТ-специалистов требуется лишь, чтобы они просто выполняли свою работу («работает — ну и хорошо, следи, чтобы не сломалось»).

    Из этого очевидно, что в профильных компаниях вам намного проще расти как специалисту — в этом заинтересованы обе стороны (чем ты «круче», тем больше платят). Во втором случае, в этом заинтересованы только вы, да и то не всегда (зачем, если платить будут столько же).

    По поводу собеседований. Ходить на них — весело, если выбрать верный настрой. Представьте себе, что вы вообще не хотите попасть в эту компанию, а пришли лишь показать все, что вы умеете, «какой вы из себя хороший специалист». Конечно, не стоит выпячивать свое ЧСВ при собеседовании — ведите себя естественно; в тоже время, убиваться в случае неудачи не стоит — вы же совсем и не хотели к ним идти работать.

    А чтобы было о чем рассказать, в свободное время (оно же у вас есть?) разрабатывайте «для себя» разные программки. Ну например, напишите какой-нибудь парсер, поработайте с API различных систем (того же Яндекса), сделайте собственный таск-менеджер, придумайте сами интересную вам небольшую идею и доведите ее до конца. В каждой такой задаче можно найти много тонких моментов — оптимизация скорости алгоритма, структуры БД, применение паттернов, взаимодействие компонент, написанных на разных ЯП и т.д.

    Многовато текста получилось…
    Ответ написан
    3 комментария
  • Чем протирать монитор?

    coolurik
    @coolurik
    Founder and CEO
    Microfiber cloth.
    Ответ написан
    Комментировать
  • Чем протирать монитор?

    lybin
    @lybin
    looking for remote full time job python backend
    image

    Вот этим пользуюсь сейчас, и у друга тож, норм. У них и салфетки есть, но не пользовался. Есть в DNS магазинах.
    Ответ написан
    2 комментария
  • Чем протирать монитор?

    All3
    @All3
    Беру ватный тампон, его смачиваю водкой, протираю. Все мониторы отмываются на ура и глянцевый и с антибликовым покрытием.
    Говорят еще можно использовать «Мистер мускул», но я честно говоря побоялся.
    Ответ написан
    1 комментарий
  • Оценка уровня программиста?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Попробуйте сходить на собеседование например в Yandex/Google/Intel (нужное подчеркнуть, в городе на буковку М.), возможно, объективно оценят, если примут и согласятся на «цифры», значит Вы нужный им специалист. А если Вы будете нужны такой вставить имя компании сюда, значит вы программист высокого уровня.
    Кстати говоря, компаниям выше нужны сильно заточенные под язык и предметную область люди.
    Ответ написан
    Комментировать
  • Чем протирать монитор?

    @ChemAli
    Смахиваю пыль тряпочкой, которая была в коробке с новым телефоном. Если нужно что-то оттереть, то аккуратно оттираю едва влажной тканью, а потом убираю разводы все той же тряпочкой от телефона. Никакой химии.
    Ответ написан
    Комментировать
  • Чем протирать монитор?

    shadowalone
    @shadowalone
    Я использую уже несколько лет вот такой спрей, и замшевые тряпочки:
    image
    Ответ написан
    Комментировать
  • Чем протирать монитор?

    Rampage_Masta
    @Rampage_Masta
    Из жидкостей пользуюсь жидким спреем от defender, вполне устраивает, разводов нет.
    Протираю специальной тканью (ничего конкретного сказать не могу, мне её подарили), она спецом для мониторов заточена.
    Ответ написан
    1 комментарий
  • Чем протирать монитор?

    XHunter
    @XHunter
    Любой спрей для мониторов+мягкий кусочек замши. Выглядит как новый
    Ответ написан
    Комментировать
  • Чем протирать монитор?

    @max_rip
    Спиртом! Самый лучшие какие были салфетки — спирта содержащие, но увы я очень давно таких не видел.
    Ответ написан
    2 комментария
  • Чем протирать монитор?

    krubinshteyn
    @krubinshteyn
    Столкнулся с аналогичной проблемой. Нашел решение в салфетках для Top Gear, которые для (!) автомобильных стекол позиционируются (в Ашанах продают — думается, что можно найти и в других местах). Не оставляют разводов ни в машине, ни на мониторах.
    Ответ написан
    1 комментарий
  • PhpStorm и несколько задач

    miraage
    @miraage Автор вопроса
    Старый прогер
    Для закрытия вопроса.

    changelist
    Ответ написан
    Комментировать
  • Чем протирать монитор?

    @korvindest
    Описываю свой способ (просьба не кидать в меня гнилыми помидорами):

    Берется кусок туалетной бумаги, слегка замачивается в мыльной воде (слегка мыльной). Этим тщательно протирая монитор (если бумага будет слишком сильно намочена, то будет течь, а это плохо). После этого берем кусок сухой туалетной бумаги и вытираем оставшиеся водяные разводы. PROFIT!

    Мои 2 домашних монитора чистятся таким образом уже более 4 лет.
    Ответ написан
    5 комментариев
  • Чем протирать монитор?

    Vedont
    @Vedont
    Есть тряпки, называется «Микрофибра», я долго мучился с очками, потом случайно наткнулся :) Её даже намачивать не нужно, просто протираешь — и всё.
    Ответ написан
    5 комментариев
  • Оценка уровня программиста?

    taliban
    @taliban
    php программист
    «Сам я свои знания оцениваю как низкие, т.к. часто пользуюсь гуглом, большинство решений беру оттуда и внедряю к себе(стараясь правда понять как оно работает)»
    Вот это вот плохой показатель =) Я свои знания оцениваю как выше среднего, но тоже часто пользуюсь гуглом, а знаете почему? До меня такую работу уже делали, вдруг кто-то сделал ее лучше меня, почему бы этим не воспользоваться?
    Если хотите уходить, и не можете выбрать куда, идите на вакансию постарше, если не пройдете на мидла но у них будет вакансия на джуниора, они Вам ее предложат.
    Ответ написан
    5 комментариев
  • Оценка уровня программиста?

    TheHorse
    @TheHorse
    Навыки программирования очень сложно оценить. Знание языка, вообще, почти не коррелируют с уровнем программиста. Знание паттернов — тоже. Частота использования гугла — тоже. Я, например, будучи программистом 10 лет, все еще по каждой мелочи пользуюсь гуглом, и так будет всегда.

    Хорошего программиста определяет умение качественно решать, различного рода, задачи. Чем лучше программист, тем шире список решаемых им задач, и тем лучше качество решений, но и это все не объективно.

    Единственное, что могу посоветовать — поискать ответы на вопросы такого рода.
    Ответ написан
    1 комментарий
  • Оценка уровня программиста?

    @korvindest
    Оценка стоимости и знаний сотрудника у каждой компании своя. Где то больше будут ценить понимание вами паттернов проектирования и знания той предметной области где вы будете работать. Где то самым важным будет ваше стремление развиваться и доводить до конца.
    Некоторым компаниям гораздо важнее, что бы вы понимали особенности и подводные камни языка на котором вам придется писать. А есть компании в которые вы никогда не попадете если не работали с системами контроля версии и баг треккингом, будь вы даже трижды гений!

    Человек стоит ровно столько, сколько ему готовы платить. Я в этом убедился на собственной шкуре. Самое плохое что с вами может произойти, если вы поймете, что знаете уже очень много. В этот момент вы умрете как специалист.

    Лично мой совет будет таким: походите на собеседования, даже не ради того что бы сменить работу, а просто что бы пообщаться с умными людьми и понять основные запросы рынка. Я думаю после этого вы сами составите адекватную оценку себе.
    Ответ написан
    8 комментариев
  • Букварь программиста?

    Adam_Ether
    @Adam_Ether
    Java Developer
    Попробуйте почитать «Дизайн и эволюция C++» Страуструп
    Книга не для новичков. Если осилите поймете почему С++ такой, какой есть.
    Ответ написан
    1 комментарий