Nette Documentation Preview

syntax
Вклад в код
***********

.[perex]
Собираетесь внести вклад в Nette Framework и вам нужно познакомиться с правилами и порядком работы? Это руководство для начинающих шаг за шагом проведёт вас через то, как эффективно вносить код, работать с репозиториями и реализовывать изменения.


Порядок работы
==============

Чтобы вносить код, необходимо иметь учётную запись на [GitHub|https://github.com] и знать основы работы с системой контроля версий Git. Если вы с Git не знакомы, можете заглянуть в [git - the simple guide|https://rogerdudler.github.io/git-guide/] и подумать об одном из множества [графических клиентов|https://git-scm.com/downloads/guis].


Подготовка окружения и репозитория
----------------------------------

1) На GitHub создайте [форк|https://help.github.com/en/github/getting-started-with-github/fork-a-repo] [репозитория пакета|www:packages], который собираетесь менять
2) [Клонируйте|https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository] этот репозиторий к себе на компьютер
3) Установите зависимости, включая [Nette Tester|tester:], командой `composer install`
4) Убедитесь, что тесты работают, запустив `composer tester`
5) Создайте [новую ветку |#Новая ветка] на основе последней выпущенной версии


Реализация собственных изменений
--------------------------------

Теперь вы можете вносить собственные правки в код:

1) Реализуйте нужные изменения и не забудьте о тестах
2) Убедитесь, что тесты успешно проходят, командой `composer tester`
3) Проверьте, отвечает ли код [стандартам кодирования |#Стандарты кодирования]
4) Сохраните (закоммитьте) изменения с описанием в [таком формате |#Описание коммита]

Вы можете создать несколько коммитов, по одному на каждый логический шаг. Каждый коммит должен быть осмысленным сам по себе.


Отправка изменений
------------------

Когда изменения вас устроят, вы можете их отправить:

1) Отправьте изменения на GitHub в свой форк
2) Оттуда отправьте их в репозиторий Nette, создав [pull request|https://help.github.com/articles/creating-a-pull-request] (PR)
3) Приведите в описании [достаточно сведений |#Описание pull request]


Учёт замечаний
--------------

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

1) Следите за предлагаемыми изменениями
2) Вносите их новыми коммитами или [объединяйте с предыдущими|https://help.github.com/en/github/using-git/about-git-rebase]
3) Снова отправьте коммиты на GitHub, и они автоматически появятся в pull request

Никогда не создавайте новый pull request, чтобы изменить существующий.


Документация
------------

Если вы изменили функциональность или добавили новую, не забудьте [добавить её и в документацию|documentation].


Новая ветка
===========

По возможности вносите изменения против последней выпущенной версии, то есть последнего тега в ветке. Для тега `v3.2.1` создайте ветку такой командой:

```shell
git checkout -b new_branch_name v3.2.1
```


Стандарты кодирования
=====================

Ваш код должен отвечать [стандарту кодирования|coding-standard], используемому в Nette Framework. Для проверки и автоматического исправления кода воспользуйтесь инструментом [Nette Coding Standard |tools:coding-standard], там же вы найдёте указания по установке и использованию.


Описание коммита
================

В Nette у темы коммита такой формат: `Presenter: fixed AJAX detection [Closes #69]`

- область, за ней двоеточие
- назначение коммита в прошедшем времени; по возможности начинайте словами: "added (новая возможность)", "fixed (исправление)", "refactored (изменение кода без изменения поведения)", "changed", "removed"
- если коммит ломает обратную совместимость, добавьте "BC break"
- любая ссылка на трекер задач, например `(#123)` или `[Closes #69]`
- после темы может идти пустая строка, а за ней более подробное описание, включающее, например, ссылки на форум


Описание pull request
=====================

При создании pull request интерфейс GitHub позволит вам ввести заголовок и описание. Дайте краткий заголовок и приведите в описании как можно больше сведений о причинах вашего изменения.

Укажите в шапке и то, идёт ли речь о новой возможности или об исправлении ошибки и может ли это вызвать проблемы с обратной совместимостью (BC break). Если есть связанная задача, сошлитесь на неё, чтобы она закрылась при одобрении pull request.

```
- bug fix / new feature?  <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#?    <!-- highly welcome, see https://nette.org/en/writing -->
```


{{priority: -1}}

Вклад в код

Собираетесь внести вклад в Nette Framework и вам нужно познакомиться с правилами и порядком работы? Это руководство для начинающих шаг за шагом проведёт вас через то, как эффективно вносить код, работать с репозиториями и реализовывать изменения.

Порядок работы

Чтобы вносить код, необходимо иметь учётную запись на GitHub и знать основы работы с системой контроля версий Git. Если вы с Git не знакомы, можете заглянуть в git – the simple guide и подумать об одном из множества графических клиентов.

Подготовка окружения и репозитория

  1. На GitHub создайте форк репозитория пакета, который собираетесь менять
  2. Клонируйте этот репозиторий к себе на компьютер
  3. Установите зависимости, включая Nette Tester, командой composer install
  4. Убедитесь, что тесты работают, запустив composer tester
  5. Создайте новую ветку на основе последней выпущенной версии

Реализация собственных изменений

Теперь вы можете вносить собственные правки в код:

  1. Реализуйте нужные изменения и не забудьте о тестах
  2. Убедитесь, что тесты успешно проходят, командой composer tester
  3. Проверьте, отвечает ли код стандартам кодирования
  4. Сохраните (закоммитьте) изменения с описанием в таком формате

Вы можете создать несколько коммитов, по одному на каждый логический шаг. Каждый коммит должен быть осмысленным сам по себе.

Отправка изменений

Когда изменения вас устроят, вы можете их отправить:

  1. Отправьте изменения на GitHub в свой форк
  2. Оттуда отправьте их в репозиторий Nette, создав pull request (PR)
  3. Приведите в описании достаточно сведений

Учёт замечаний

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

  1. Следите за предлагаемыми изменениями
  2. Вносите их новыми коммитами или объединяйте с предыдущими
  3. Снова отправьте коммиты на GitHub, и они автоматически появятся в pull request

Никогда не создавайте новый pull request, чтобы изменить существующий.

Документация

Если вы изменили функциональность или добавили новую, не забудьте добавить её и в документацию.

Новая ветка

По возможности вносите изменения против последней выпущенной версии, то есть последнего тега в ветке. Для тега v3.2.1 создайте ветку такой командой:

git checkout -b new_branch_name v3.2.1

Стандарты кодирования

Ваш код должен отвечать стандарту кодирования, используемому в Nette Framework. Для проверки и автоматического исправления кода воспользуйтесь инструментом Nette Coding Standard, там же вы найдёте указания по установке и использованию.

Описание коммита

В Nette у темы коммита такой формат: Presenter: fixed AJAX detection [Closes #69]

  • область, за ней двоеточие
  • назначение коммита в прошедшем времени; по возможности начинайте словами: „added (новая возможность)“, „fixed (исправление)“, „refactored (изменение кода без изменения поведения)“, „changed“, „removed“
  • если коммит ломает обратную совместимость, добавьте „BC break“
  • любая ссылка на трекер задач, например (#123) или [Closes #69]
  • после темы может идти пустая строка, а за ней более подробное описание, включающее, например, ссылки на форум

Описание pull request

При создании pull request интерфейс GitHub позволит вам ввести заголовок и описание. Дайте краткий заголовок и приведите в описании как можно больше сведений о причинах вашего изменения.

Укажите в шапке и то, идёт ли речь о новой возможности или об исправлении ошибки и может ли это вызвать проблемы с обратной совместимостью (BC break). Если есть связанная задача, сошлитесь на неё, чтобы она закрылась при одобрении pull request.

- bug fix / new feature?  <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#?    <!-- highly welcome, see https://nette.org/en/writing -->