Глаголы действия: что код делает на английском
Документация и исходники держатся на глаголах. Понимать fetch, parse, handle, throw — значит понимать, что именно делает код.
Programs must be written for people to read. — Harold Abelson
Названия методов в любой библиотеке — это глаголы: getUser, parseJSON, validateInput. Зная ядро технических глаголов, ты понимаешь API почти без словаря: имя метода само рассказывает, что он делает. Это самый окупаемый кусок словаря для чтения исходников.
Глаголы: данные и поток
| Глагол | Перевод | Пример |
|---|---|---|
| fetch / retrieve | получать данные | fetch the user from the API |
| parse | разбирать (текст в структуру) | parse the JSON response |
| serialize | сериализовать | serialize the object to a string |
| handle | обрабатывать | handle the click event |
| process | обрабатывать (поток/данные) | process the queue |
| render | отрисовывать | render the component |
| validate | проверять корректность | validate the form input |
| convert / cast | преобразовывать (тип) | cast the value to a number |
Глаголы: ошибки и управление
| Глагол | Перевод | Пример |
|---|---|---|
| throw | выбрасывать (исключение) | throw an error if input is empty |
| catch | ловить (исключение) | catch the exception and log it |
| raise | возбуждать (исключение, Python) | raise a ValueError |
| retry | повторять попытку | retry the request three times |
| abort / cancel | прерывать / отменять | abort the running task |
| fallback | откатываться к запасному | fall back to the default value |
Глаголы: ООП и наследование
| Глагол | Перевод | Пример |
|---|---|---|
| extend | расширять (наследовать) | this class extends Base |
| implement | реализовывать (интерфейс) | implement the interface |
| override | переопределять (метод) | override the parent method |
| inherit | наследовать | inherit from the base class |
| invoke / call | вызывать | invoke the callback |
| expose | предоставлять наружу | the module exposes a public API |
Разбор имени метода из реальной библиотеки:
validateAndParseUserInput(raw) | | | | | | | `- что обрабатываем: пользовательский ввод | | `------ Input — существительное-объект | `------------ parse — разобрать в структуру `--------------------- validate — сначала проверить корректность Читается: «проверить и разобрать пользовательский ввод». Имя метода = краткое описание его работы.
Полезные фразы
This method fetches data and parses it. — Этот метод получает данные и разбирает их. We catch the error and retry the request. — Мы ловим ошибку и повторяем запрос. The class overrides the default behavior. — Класс переопределяет поведение по умолчанию. We fall back to a cached value. — Мы откатываемся к закешированному значению.
Частые ошибки рус-говорящих
- Путать «raise» и «rise».
raise an error(возбудить ошибку, есть объект) vsrise(подниматься самому). В коде почти всегдаraise/throw. - Считать «handle» только существительным. В разработке
handleчаще глагол: «обрабатывать событие», аhandler— тот, кто обрабатывает. - Переводить «implement» как «имплементировать» в речи. Понимать ок, но по-русски естественнее «реализовать».
Практика
- Открой любую библиотеку и прочитай 10 имён методов — переведи каждое по глаголу.
- Найди в своём коде
try/catchи проговори, что throws и что catches. - Выпиши 5 глаголов, которые встречаешь чаще всего в своём стеке.
Фразовые глаголы, которые встречаются всюду
Английский в разработке полон фразовых глаголов — связки «глагол + предлог», где предлог меняет смысл. Их буквальный перевод часто сбивает с толку, поэтому их стоит знать целиком.
| Фразовый глагол | Перевод | Пример |
|---|---|---|
| roll out | выкатывать постепенно | We'll roll out the feature gradually. |
| roll back | откатывать | Roll back if it breaks. |
| spin up | поднимать (сервис/инстанс) | Spin up a new container. |
| set up | настраивать | Set up the environment first. |
| look into | разбираться, изучать | I'll look into this bug. |
| break down | разбивать на части | Let's break down the task. |
| figure out | выяснять, докапываться | I'll figure out the root cause. |
Особенно коварна пара set up (глагол, «настраивать») и setup (существительное, «настройка»). «Let's set up the server» против «the setup is done». Та же история с log in / login и back up / backup: раздельно — действие, слитно — предмет.
Глаголы-минимум для чтения API
| Ключ | Смысл | Где встречается |
|---|---|---|
| fetch / parse | получить / разобрать | fetch and parse JSON |
| handle | обрабатывать | handle the event |
| throw / catch | кинуть / поймать | throw on empty input |
| validate | проверить | validate the input |
| override | переопределить | override the method |
Имена методов — это глаголы-описания. Зная этот минимум, ты понимаешь, что делает функция, ещё до чтения её тела.
Итоги
Технические глаголы — ключ к чтению исходников и доков, потому что имена методов это глаголы-описания. Освоив ядро (fetch, parse, handle, throw, catch, override и т.д.), ты понимаешь, что делает код, ещё до чтения тела метода. Лучшая практика — разбирать реальные имена методов из своего стека.