Структура кода как ещё одно средство повышения качества проекта
Тезисы
Структура кода на проекте – часто вопрос не первого приоритета. Ведь фреймворк уже предлагает понятный вариант, с которым можно долго жить и ничего не менять. Но когда проект стреляет, то начинают активно расти и усложняться его команда и кодовая база. Формируются принципы написания кода, уточняется доменная область, растёт экспертиза участников…

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

К нашей команде понимание, как мы хотим раскладывать код по директориям, тоже пришло не сразу. Изучив подходы и проведя рефакторинг, готов поделиться в докладе, как выбрать способ структурирования кода, какие принципы учитывать и каким путем пошли сами. А также покажу на примере нашего проекта:
  • каким образом можно плавно перейти на «новые рельсы» с минимумом подводных камней и максимумом пользы;
  • как сначала структуре помогают автотесты, а потом структура автотестам — сокращается затрачиваемое на прогон автотестов время;
  • когда и почему дублирование кода может иметь ценность;
  • как автоматизировать требования к структуре кода и улучшить коммуникацию внутри команды.

Слушатели получат обзор нескольких способов структурировать код с источниками для дальнейшего изучения, а также конкретный пример реализации одного из них с получившимися плюсами/минусами относительно прошлой структуры – её предлагал популярный php-фреймворк Symfony.
Структура кода на проекте – часто вопрос не первого приоритета. Ведь фреймворк уже предлагает понятный вариант, с которым можно долго жить и ничего не менять. Но когда проект стреляет, то начинают активно расти и усложняться его команда и кодовая база. Формируются принципы написания кода, уточняется доменная область, растёт экспертиза участников…

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

К нашей команде понимание, как мы хотим раскладывать код по директориям, тоже пришло не сразу. Изучив подходы и проведя рефакторинг, готов поделиться в докладе, как выбрать способ структурирования кода, какие принципы учитывать и каким путем пошли сами. А также покажу на примере нашего проекта:
  • каким образом можно плавно перейти на «новые рельсы» с минимумом подводных камней и максимумом пользы;
  • как сначала структуре помогают автотесты, а потом структура автотестам — сокращается затрачиваемое на прогон автотестов время;
  • когда и почему дублирование кода может иметь ценность;
  • как автоматизировать требования к структуре кода и улучшить коммуникацию внутри команды.

Слушатели получат обзор нескольких способов структурировать код с источниками для дальнейшего изучения, а также конкретный пример реализации одного из них с получившимися плюсами/минусами относительно прошлой структуры – её предлагал популярный php-фреймворк Symfony.
Информация о спикере
Денис Юрьев
Тимлид, Skyeng
О себе
Денис Юрьев
Тимлид, Skyeng
О себе
Все доклады секции