Основы PHP_CodeSniffer

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

18 ноября 2017 г.

Про рефакторинг

Никто не любит плохо написанные программные продукты. Огромное количество сильно связанного, ригидного кода из которого состоит большинство проектов. Особенно плачевная ситуация там, где мало внимания уделяется тестированию в пользу внедрения новых фич в результате чего накапливается технический долг. Часто в таких условиях тяжело себя мотивировать на изменение ситуации. Мне помогает подход пропагандируемый Бобом Мартином, который выражается в правиле бойскаута: Оставь место стоянки чище, чем оно было до твоего прихода. У многих программистов есть мнение, что рефакторинг это что-то объемное, на что нужно регулярно выделять отдельный большой кусок времени (которого нет, так как с новой неделей уже нужно внедрять новые фичи). В итоге долг растет (как и количество ошибок), ничего не предпринимается и все демотивированы. Хотя, именно регулярные маленькие изменения часто вносят решающий вклад. Что-то вроде ныне модного кайдзен. При выполнении задачи всегда можно сделать чуть больше и добавить коду гибкости. ...

23 июля 2017 г.

Установка Selenium Server на Ubuntu 16.04

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

1 июля 2017 г.

Редактирование кода в NetBeans

Обновлено 26.01.2018 NetBeans IDE мой основной рабочий инструмент. Ниже представлен список горячих клавиш, которые я использую наиболее часто, а так же дан поверхностный обзор шаблонов кода и макросов. Горчие клавиши Навигация Alt+Up/Down — следующая/предыдущая позиция установки курсора. Alt+Left/Alt+Right/Ctrl+Q — навигация по предыдущему/следующему редактированным фрагментам. Ctrl+Q — перейти к последнему отредактированному фрагменту. Ctrl+Shift+1 — найти текущий файл в дереве проектов и поставить на него фокус. Удобно чтобы не рыться долго в папках. ...

23 мая 2017 г.

Заработок и влияние для программиста

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

21 мая 2017 г.