O себе

  • Активно увлекся программированием в 1990 году. Свое знакомство с WEB начал с интерпритатора Perl, затем плавно перешел на PHP. Огромное кол-во времени провожу за чтением специализированной литературы. Не увлекаюсь соц сетями и не состою ни в каких братствах. Всегда готов помочь любому обратившемуся.
  • Имею не маленький опыт в настройке UNIX/LINUX серверов и написанию программ на PHP. В качестве основных инструментов разработки использую PHPed + DBG (на платформе Win7), также последнее время работаю на Mac OS, где постоянно применяю ряд программ: Homebrew, PhpStorm IDE for PHP итд (Полный список ПО доступно тут). Cерверную часть предпочитаю развертывать на Debian системах. В своих работах использую Yii Framework / YiiFramework 2 и Drupal.
  • Также увлекаюсь спортом и люблю слушать качественную музыку.
  • Имею профили: Drupal.ru, YiiFramework, GitHub, Bitbucket
  • Являюсь разработчиком: roof-builder, 1С + Drupal

При проектировании и написание кода стараюсь соблюдать DRY, KISS, SOLID, YAGNI

  • DRY – расшифровывается как Don’t Repeat Youself – не повторяйся, также известен как DIE – Duplication Is Evil – дублирование это зло. Этот принцип заключается в том, что нужно избегать повторений одного и того же кода. Лучше использовать универсальные свойства и функции.
  • KISS – Keep It Simple, Stupid – не усложняй! Смысл этого принципа программирования заключается в том, что стоит делать максимально простую и понятную архитектуру, применять шаблоны проектирования и не изобретать велосипед.
  • Принцип SOLID в упрощенном варианте означает, что когда при написании кода используется несколько принципов вместе, то это значительно облегчает дальнейшую поддержку и развитие программы. Полностью акроним расшифровывается так:
    • Single responsibility principle – принцип единственной обязанности (на каждый класс должна быть возложена одна-единственная обязанность);
    • Open/closed principle – принцип открытости/закрытости (программные сущности должны быть закрыты для изменения но открыты для расширения);
    • Liskov substitution principle – принцип подстановки Барбары Лисков (функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом. Подклассы не могут замещать поведения базовых классов. Подтипы должны дополнять базовые типы
    • Interface segregation principle – принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный);
    • Dependency inversion principle – принцип инверсии зависимостей (зависимости внутри системы строятся на основе абстракций. Модули верхнего уровня не зависят от модулей нижнего уровня. Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций);
  • Термин YAGNI значит You Ain’t Gonna Need It – вам это не понадобится! Его суть в том, чтобы реализовать только поставленные задачи и отказаться от избыточного функционала.