Kirill Mokevnin

mokevnin #1376

CTO at hexlet.io

Ульяновск, Ульяновская область, Россия

Kirill Mokevnin 17 сентября 2019

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

Kirill Mokevnin 14 июля 2019

Создавать функции легко, но создавать их правильно — гораздо сложнее, чем кажется. Плохо спроектированные функции плохо тестируются, с трудом адаптируются под новые требования и часто переписываются. В этой статье мы пройдёмся по ключевым подходам создания удобных функций: научимся правильно разделять ответственности, строить цепочки функций и проектировать их сигнатуру. Материал статьи базируется на ошибках, которые совершают студенты Хекслета на проектах.

Kirill Mokevnin 06 июня 2019

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

// Реальный код из открытого проекта Хекслета
const programImports = source.program.body
  .filter(item => item.type === ‘ImportDeclaration’)
  .filter(item => item.source.value.startsWith(‘hexlet’));

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

Но иногда, желание сделать код компактным, приводит к обратному эффекту.

Kirill Mokevnin 22 мая 2019

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

Kirill Mokevnin 01 мая 2019

Изначально этот материал планировался, как урок в PHP курсе по полиморфизму. Но он? в конце концов, перерос сам урок, и я решил сделать из него отдельную статью. В ней практически ничего PHP-специфичного, поэтому рекомендуется для прочтения всем без исключения.

Kirill Mokevnin 16 апреля 2019

В сообществе Хекслета иногда возникают жаркие споры на тему использования таких решений, как Bootstrap.

  • Bootstrap подходит только для админок
  • Bootstrap мешает, если нужно кастомизировать
  • Проще и быстрее написать своё

Так ли это?

Kirill Mokevnin 02 января 2019

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

Kirill Mokevnin 27 апреля 2017

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

Kirill Mokevnin 26 марта 2017

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

Если вам интересно, как и почему монокультура может приводить к более дорогим и сложным решениям, то добро пожаловать под кат.