Гипотетически, если бы я брал интервью у кого-то для новой должности разработчика PHP, когда мой опыт работы в .NET, как я могу определить, является ли образец кода, который они предоставили мне, эффективным и хорошего качества?
Другими словами, как лучше всего оценить код программиста, если вы не знакомы с языком?
code-quality
interview
code-reviews
Джейсон Таун
источник
источник
Ответы:
То, что вы не сможете оценить, - это правильное использование языковых идиом и использование библиотеки. Итак, это не те вещи, на которые вы должны попытаться взглянуть.
Что вы можете оценить это:
Вышеуказанные пункты (хотя и не исчерпывающие) будут указывать, пахнет ли код или нет, и должен быть тем, что опытный программист может определить как хороший или плохой.
Короче - ищите вещи, которые должны указывать хороший код независимо от языка.
источник
Попросите их представить блок-схему или проведите вас через это во время интервью. У вас есть идеальное оправдание, чтобы спросить, и это говорит о том, как они думают, чтобы увидеть, как они объясняют.
Если они собираются перейти к вашему предпочтительному языку, вы знаете, что у вас много наставничества, так что в любом случае вы должны искать хорошие навыки логики / аргументации.
Если они будут продолжать работать на предпочитаемом им языке, вы должны будете согласиться с тем, что они будут в некоторой степени самостоятельно управлять мельчайшими подробностями, связанными с языком, пока кто-нибудь еще не наберет скорость, так что все, с чем вам придется взаимодействовать с дизайнерской стороной там тоже.
источник
Помимо неправильного кода, работающего с костями, эффективность во многом будет зависеть от компилятора / интерпретатора языка, о котором идет речь, и вы не сможете увидеть это из примера кода. Пример кода может быть красиво написан и изящен как прекрасный фарфор на салфетках, но работать медленно, если скомпилировано / интерпретировано плохо.
Вы не сможете оценить идиоматическое использование особенностей языка / синтаксического сахара / соглашений без некоторого знакомства.
Вы должны быть в состоянии определить, хорошо ли он написан в целом, исходя из универсальных соображений, таких как аккуратность, поток управления, именование переменных, порядок операций и так далее.
Однако на практике, если вы знаете, какой язык будет использоваться в процессе, вы можете попытаться найти одно или несколько руководств по стилю для этого языка, перейти в книжный магазин и пролистать пару книг для этого языка и просмотрите примеры кода, ища аналоги того, что вам знакомо на выбранном вами языке (языках), посмотрите один или несколько проектов с открытым исходным кодом, использующих этот язык, и так далее.
Если у вас есть время и нет ценового барьера, вы можете даже зайти так далеко, чтобы настроить среду разработки для этого языка и запустить приложение Hello World, создать код-ката или иным образом написать простое небольшое приложение. в этом. Вы довольно быстро разработаете элементарную систему отсчета, и это не только даст вам возможность разобраться с конкретной целью анализа рассматриваемого кода, вы можете быть вынуждены использовать язык и немного расшириться.
источник
Независимо от языка:
Не говоря уж о том, что любой код, который не имеет всего этого, автоматически становится плохим, но я бы посчитал, что это показатели кого-то, кто размышлял и рассматривал их практику.
Тем не менее, для всех этих индикаторов вы должны спросить, каково обоснование такого кода. Для их выбора может быть веская причина, зависящая от языка ... и после этого Google, когда они и другие кандидаты уйдут, станет вашим другом, так как вы можете проверить, правдоподобно ли то, что они сказали ...!
Удачи, так как наем хороших людей - одна из самых важных ролей в вашей организации;)
источник
Вам следует попросить кого-нибудь, кто знает рассматриваемый язык, прийти на собеседование или взглянуть на образец. Такой человек, скорее всего, найдет плохие места, если таковые имеются.
Собирается ли кандидат работать в команде? Пусть члены команды встретятся с ним и зададут вопросы о его навыках.
источник
Спросите их об ограничениях, с которыми они столкнулись при использовании языка. Попросите их показать вам простой SQL-запрос. Любой разработчик Php, достойный крика, должен иметь возможность выполнять базовый запрос выбора / обновления / удаления без особых усилий.
Дуг
источник