Как отсеивать плохих программистов. 10 лучших автоматических инструментов проверки качества кода

Проверка технических навыков кандидатов — неотъемлемая часть IT-найма. Нужно хорошо отделить зерна от плевел. Можно сделать это заранее, посмотрев, пишет ли человек достойный код. Это умеют специальные инструменты, зачастую частично бесплатные. В этой статье мы собрали десять лучших из них.

Такие сервисы позволят вам сэкономить много времени и денег. Ведь довольно неприятно, когда вместо того, чтобы заниматься делом, разработчики вынуждены проверять кандидата, у которого откровенно нет шансов. Кстати, это ещё и отличный способ попрактиковаться в выполнении различных заданий.

Использование таких инструментов тестирования особенно полезно, когда проверка кандидата ведётся онлайн. У нас в Rubrain больше десяти тысяч разработчиков в базе, все уровня Middle и Senior. Это политика компании: не брать тех, кто ещё не научился писать хорошо. И автоматические сервисы экономят нам тысячи часов на веттинг кандидатов. Мы за несколько минут узнаем, если человек, который стучится к нам в двери, нам не подходит. Причем провести проверку может рекрутер или эйчар. На таком этапе ещё ни к чему подключать технических специалистов.

Онлайн-инструменты для проверки разработчиков

Платформы для тестирования качества кода генерируют тесты в соответствии с необходимыми вам техническими знаниями и опытом кандидата. Результаты этих тестов помогут вам решить, подходит ли такой кандидат команде вашего IT-проекта.

1. HackerRank

Платформа для технических собеседований, которая помогает своим клиентам находить и нанимать разработчиков с нужными им навыками. Среди её клиентов — PayPal, Atlassian, LinkedIn и многие другие.

HackerRank предлагает следующие продукты:

CodeScreen: позволяет работодателям оценивать навыки разработчиков, приглашая кандидатов участвовать в онлайн-тестах программирования.

CodePair: позволяет оценить способность кандидата решать проблемы и проверить его коммуникативные навыки с помощью парного онлайн-программирования в реальном времени.

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

Insights: решение на основе искусственного интеллекта, которое помогает отслеживать прогресс ваших кандидатов во время тестов, и предлагает, как можно улучшить вашу воронку найма.

Вы можете выбрать задачу, которую создали в HackerRank, или написать свою собственную. Затем, когда кандидаты придут и решат задачи, вы сможете просмотреть их результаты, посмотреть на оценку и детальный отчет, сравнить друг с другом.

HackerRank создан как платформа для поддержки всей вашей воронки IT-рекрутинга. Они подбирают кандидатов, проверяют их квалификацию (резюме, рекомендации). И даже позволяют кандидатам улучшиться, натренироваться, решить некоторые проблемы с кодированием.

Поддерживает больше 40 языков программирования.

2. Codility

Codility — вторая по популярности онлайн-платформа для оценки технических навыков. Она состоит из двух компонентов:

CodeCheck — инструмент для проверки фундаментальных навыков программирования и технических знаний.

CodeLive — онлайн-комната для сотрудничества и написания кода с кандидатами на технических собеседованиях в режиме реального времени.

И Codility, и HackerRank не показывают кандидатам их результат. Они не знают, выполнили ли они задачи в целом лучше или хуже, чем другие претенденты. Правда, в HackerRank они видят, какие вопросы они провалили, и почему (неверный результат, слишком неэффективный код и т. д). У них появляется возможность улучшить код — исправить баги, поменять алгоритм. Поэтому HackerRank может также использоваться для тренировки кандидатов.

У Codility таких возможностей нет. Кандидату специально не показывают, что он выполнил неверно. Обычно там демонстрируют один тестовый пример, и дальше кандидат может проверять свой код только самостоятельно, не зная, всё ли верно, или нет. Как в реальной жизни.

Подробнее о других особенностях каждой платформы на английском можно почитать тут: разница между Codility и HackerRank.

3. Coderbyte

Coderbyte тоже позволяет тестировать знания разработчиков и качество их кода. Можно как выбрать готовые тесты из библиотеки Coderbyte, так и загрузить на платформу свои внутренние тесты. После каждого теста вы получаете подробные отчеты с решениями и даже видеозаписи кандидатов, проходящих тест.

Coderbyte доверяют более 600 организаций, включая Shopify, AngelList, Zoom, HBO и Microsoft. Большинство переходят сюда с HackerRank, Codility или Coderpad. Чаще всего здесь проверяют на DevOps, бэкенд, фронтенд, Data Sicence. Здесь также нередко подбирают команду для разработки мобильных приложений.

4. CodeSignal

Платформа основана в 2014-м в Сан-Франциско. Раньше, до 2018-го, называлась CodeFights и была заточена на соревнованиях 1х1 между разработчиками. Сейчас позволяет проводить рекрутинг кандидатов и оценивать уровень их технических навыков. Свои силы здесь пробуют больше 1 млн разработчиков.

У CodeSignal есть три основных продукта:

Test — проверка знаний кандидата. Можно делать тесты самому или использовать стандартные наборы, предложенные системой. Они быстро проверяют наличие у кандидата навыков, необходимых для конкретной должности. Можно сразу узнать, нужны ли вам услуги такого программиста.

Interview — видеоинтервью в прямом эфире в расширенной среде совместного кодирования. Тоже используются созданные пользователем или заранее определенные тесты. Удобно, чтобы проверить, как человек вольется в состав команды разработчиков. Как он общается и реагирует на ситуации.

Certify — проверка качества и скорости кодирования, позволяющая быстро проверить любое количество программистов. Подходит для больших компаний, ежедневно сканирующих тысячи резюме. Дает рекрутерам возможность принимать объективные решения о приеме на работу. Отправляете задание кандидатам, и смотрите, кто может с ним справиться, и кого стоит приглашать на следующий этап собеседования.

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

CodeSignal предлагает предварительно записанные собеседования, где вопросы и задания постепенно выдаются кандидатам в режиме реального времени. Испытуемые могут даже не знать, что с другой стороны нет человека. Всё это активно используют большие компании, вроде Uber, Evernote, Dropbox, Asana, Quora, чтобы набирать программистов на позиции Middle и ниже.

5. СoderPad

Простая, минималистичная платформа, которая в первую очередь выступает как среда программирования. В одном окне можно писать и компилировать любой код (поддерживается более 30 языков и технологий). То, что делается, и какой результат выдается, видит как испытуемый программист, так и его рекрутер. Просматривать код и результаты можно как в режиме реального времени, так и потом, по записи (среда детально записывает каждое собеседование). Начать видеозвонок с кандидатом тоже можно прямо из вкладки браузера CoderPad, можно не заморачиваться с Zoom/Skype.

Тесты и вопросы придется придумывать самому (или подгружать с другой платформы). Но у CoderPad достаточно функций, которые выделяют среду среди конкурентов. В том числе:

возможность привлечь любое количество соавторов к документу;

режим рисования, позволяющий прямо в том же окне более наглядно показывать, что вы хотите/что кандидат имеет в виду;

функция записи и воспроизведения процесса написания кода — чтобы видеть не только конечный результат, но и то, как разработчик до него дошел;

приятная для работы онлайн-среда: подсветка синтаксиса, номера строк, отступы и так далее.

Бесплатный триал короткий, всего 7 дней.

На Indie Hackers можно почитать интервью с основателем CoderPad — как он к этому пришел, в чём особенность технологии, какие планы на будущее, сколько выходит зарабатывать. Как обычно, начиналось всё с простого парня-программиста из Калифорнии и его пет-проекта. А выросло в миллионные доходы и международный успех.

6. ChallengeRocket

Здесь, наоборот, нет почти ничего, кроме проверки кода. Компания набирает кандидатов, и тестирует их, чтобы понять, подходят ли они компаниям. Разработчиков оценивает искусственный интеллект, вмешательство человека не требуется (разве что нужно выбрать или создать задания). Есть и просто случайные тесты, развивающие сообщество и позволяющие программистам немного размяться. Например, можно порешать задачи, дававшиеся на собеседовании 1960 года в IBM. Или решить один из старых вопросов от Google.

У ChallengeRocket есть следующие продукты:

Skill challenge: автоматически генерирует тест для кандидатов и потом оценивает их результаты (скорость и точность решения).

Creative challenge: расширенная версия, которая помогает работодателям находить скрытые таланты и продвигать инновационные идеи.

Hackathon: онлайн-конструктор хакатонов, которые также можно использовать в виде инструментов для отбора персонала.

В целом база крутых девелоперов у ChallengeRocket не такая большая, как у Kaggle, TopCoder или русского CodeForces. Но если вы ищете, где найти программистов для стартапа, или вам нужен персональный подход к задаче, ChallengeRocket будет неплохим и недорогим вариантом.

В числе клиентов сервиса — IBM, Nvidia и ING.

Бесплатный триал — 30 дней.

7. CodinGame

Тестирование разработчиков в более веселой среде — с помощью видеоигр! Здесь кандидаты отбиваются от врагов, бегают от монстров, собирают ресурсы по карте или избегают препятствий на гоночном треке. И всё это — за счет своих знаний любого из языков программирования.

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

На платформе есть около 1900 игр-задачек. Поддерживаются 42 языка/технологии. Один из больших плюсов — очень подробные и наглядные отчеты по результатам тестирования, показывающие слабые и сильные места кандидата.

Среди клиентов CodinGame — Facebook, Nintendo, Adobe, Bank of America, EA, Deloitte, Warner Bros.

Аккаунт для бизнеса стоит от €249 в месяц. Бесплатный триал — 14 дней.

8. Qualified

Сервис от CodeWars, сообщества инженеров-программистов, старающихся повысить свои навыки за счет соревнований друг с другом. Qualified позволяет оценить технические навыки кандидата, заставляя их решать проблемы, основанные на реальных проектах. Одна стандартная проверка разработчика занимает от 50 минут до 5 часов (в зависимости от языка), и включает в себя от двух до четырех задач.

Платформа поддерживает широкий спектр языков программирования и технологий, а также позволяет вам детально, по строкам проверять выполненные задания. Тесту квалификации Qualified доверяют такие компании, как Apple, Accenture, Domino’s и другие.

9. Quizful

Единственный русский сервис более-менее достойного уровня (есть ещё InTester, но там полно багов, а интерфейс внутри при прохождении тестов всё равно будет английский). Quizful подойдет, если у кандидатов (или рекрутера) с английским всё очень грустно, пользоваться гугл-транслейтом желания нет, а денег на детальную проверку кандидатов тоже жалко. При этом тесты здесь встречаются довольно сложные. Даже самые опытные специалисты в вашей команде разработки проекта правильно ответят далеко не на все вопросы по своей дисциплине.

В целом это сервис больше для программистов: здесь есть своё небольшое сообщество, проверяющее или улучшающее свои навыки. Вопросы создаются самими пользователями, и супер-продвинутым сайт не назвать. Работодатель со своей стороны прохождение тестов не видит, программисту нужно либо шарить экран, либо по окончании отсылать скриншоты. Но для подбора кого-то с фриланса на временный проект — сойдет. К тому же, здесь можно проверить уровень знания администрирования, дизайна, компьютерных сетей, английского и других смежных с IT дисциплин.

10. Codeassess

Codeassess существует уже двадцать лет. Это проект, созданный ExpertRating, компанией, проводящей онлайн-сертификацию сотрудников для таких гигантов как Walmart, Gap, UPS, IKEA, Citrix и тысяч других. Codeassess специализируется конкретно на разработчиках. Это первый в мире (в плане длительности существования) сервис, который занялся их онлайн-тестированием. Им предлагаются задачки-проблемы, и программистам, желающие получить статус эксперта, предлагается их решать. Помимо проверки навыков, можно также настроить виртуальное онлайн-собеседование с кандидатами.

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

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

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

К счастью, вы тоже можете не обращать внимания на те параметры, которые вас не интересуют. А оценить читабельность кода быстро может и человек. Огромных знаний и детального погружения это не требует.

Валидность сайта и её проверка

Страницы всех сайтов в интернете оформляются специальным кодом, прописанным по стандартизированным правилам HTML.

Валидность сайта и её проверка

Что такое валидность?

Валидация — это проверка на соблюдение установленных норм, а в контексте, применяемом вебмастерами — корректности кода страниц: синтаксических ошибок, вложенности тэгов и т. п. Если все делать «правильно», код страницы не должен содержать неверные атрибуты, конструкции и ошибки. Валидация сайта позволяет выявить недостатки, которые следует исправить.

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

Что такое валидаторы кода

Валидатор кода — это программа, используя которую можно проверить HTML-код страниц и CSS-код на соответствие современным нормам. Она находит и фиксирует некорректные элементы, указывая на их местонахождение и формулируя, что именно оформлено неверно.

Основные «приметы» валидной верстки

Валидная вёрстка содержит код, полностью соответствующий требованиям W3C (World Wide Web Consortium), занимающейся разработкой технологических стандартов для всего Интернета.

Если код на страницах сайта верный, то во всех браузерах сайт отображается корректно (а не криво).

Отсутствуют подозрения о несправедливом «понижении» в выдаче и нет страниц, выкинутых из индекса.

Пример. Если, предположим, неправильно стоят теги <h1>..<h6>, <noindex> (в частности, отсутствует закрывающий элемент), то поисковик не будет ничего исправлять — он будет интерпретировать так, как написано черным по белому в коде. В итоге могут возникнуть последствия, связанные уже с продвижением сайта.

Важна ли валидная верстка в продвижении сайта

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

Валидность сайта и её проверка

Некоторые вебмастера целенаправленно исследовали этот вопрос, пытаясь выяснить, зависят ли результаты ранжирования от результатов валидации. Вебмастер Марк Даост отметил, что валидность кода не принципиальна. А Шаун Андерсон, напротив, пришел к выводу, что валидность как бальзам на душу сайту в плане позиций выдачи.

Еще один специалист, Майк Дэвидсон, также провел подобный эксперимент и пришел к выводу, что Google классифицирует страницы по качеству их написания. Например, незакрытый тег может привести к восприятию части контента как значение этого тега.

Этот вебмастер сделал очень важный вывод:

Зачем нужен валидный код

Валидный код позволяет правильно отображать страницы в браузерах (и стили для сайта CSS могут быть отображены неверно).

Причем вполне возможна ситуация, когда в одном браузере ваш сайт отображается так, как вы его настроили, а в другом — совершенно иначе. Изображение может быть перекошено, а контент может стать совершенно нечитабельным.

В итоге вы теряете трафик из этого браузера. К тому же, поведенческий фактор, являющийся одним из трёх самых важных факторов в SEO, значительно влияет на результаты выдачи.

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

Как проверить сайт на валидность

Валидность сайта и её проверка

Здесь перед Вами три варианта валидации:

Сервис указывает не только на ошибки html кода и их расположение, но и даёт советы по исправлению. Если код уже имеется в Сети, то можно произвести валидацию путём введения её URL-адреса в форму «Validate by URL» и нажатия кнопки Check. Валидатор HTML включит считывание кода и сообщит об итогах.

Валидность сайта и её проверка

В этом видео наглядно объяснён процесс проверки с помощью валидатора:

Проверка локальных файлов

По этому же адресу https://validator. w3.org можно проверить код, выбрав вкладку «Validate by File Upload» и загрузив документ с прописанным код.

Валидность сайта и её проверка

Выбираем путь к необходимому файлу и жмём Check. Далее всё происходит аналогично.

Использование формы для ввода кода

Иногда удобней вставить сразу код страницы и проверить его онлайн: выбираем вкладку «Validate by Direct Input» и отправляем весь код на сервер.

Проверка валидности кода CSS может быть пройдена также онлайн валидатором: https://jigsaw. w3.org/css-validator/

Валидность сайта и её проверка

Здесь все на русском языке, для многих это действительно приятный сюрприз.

Снова можно выбрать — указать URL, загрузить свой файл или вставить код.

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

Валидность сайта и её проверка

Изучаем полученный код и приводим исходный к нужному виду.

Расширения для браузеров

Для браузеров существуют всевозможные расширения для проверки валидации. Для Google Chrome есть проверяющий валидность кода плагин HTML Tidy Browser Extension, для Opera — расширение Validator, для Safari — Zappatic, для Firefor — HTML Validator.

Остановимся на последнем более детально. Он осуществляет ту же проверку, что и validator, только оффлайн. Взять его можно здесь https://users. skynet. be/mgueury/mozilla/

Подробное видео об установке HTML Validator и его использовании:

При загрузке любого URL расширение автоматически включается и считывает код. Результат виден в правом верхнем углу.

Выглядит результат как небольшая картинка с итогом валидации:

Валидность сайта и её проверка

Щёлкнув по результату, можно открыть:
— исходный код;
— ошибки — в левом нижнем блоке (или сообщение о валидности);
— подсказки по исправлению ошибок — в правом нижнем.

Валидность сайта и её проверка

Как исправить наиболее частые ошибки

Каким бы способом ни была проведена проверка кода, ошибки выходят списком. Также обязательно указана строка с недочётом.

В расширении для Firefox при нажатии на название ошибки в открытом окошке расширения вас автоматически перебрасывает на строку с невалидным кодом.

Валидность сайта и её проверка

К этим же ошибкам указаны подсказки по их исправлению.
Приведу пару примеров.

1. No space between attributes.
…rel=»shortcut icon» href=»https://arbero. ru/favicon. ico» type=»image/x-icon»

Здесь исправления убираем «точку с запятой».

2. End tag for element «div» which is not open

Закрывающий тег div лишний. Убираем его.

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

Источники:

https://habr. com/ru/post/539332/

https://znet. ru/raskrutka/proverka-validnosti-html-koda-chto-takoe-validnost-i-nuzhno-li-eyo-proveryat/

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: