Английская лексика · Разработка программного обеспечения

Английские термины разработки ПО: значения и примеры на русском

Разбирайте английскую лексику разработки программного обеспечения: от повседневной работы с кодом и тестирования до баз данных, архитектуры, веб-разработки и обработки данных. Для каждого термина приведены русское значение, пояснение употребления и английские примеры с переводом и разбором.

  • 1 143 терминов
  • 13 тем
  • 430 базовых терминов
  • 2 298 примеров

Тестирование

  • think-aloud protocolсуществительноепротокол размышлений вслух, метод проговаривания мыслей

    Метод тестирования, при котором участники вслух говорят, что думают, ищут и чувствуют при использовании продукта, чтобы исследователь следил за ходом их рассуждений.

  • task success rateсуществительноедоля успешно выполненных задач, коэффициент успешности выполнения задачи

    Процент участников тестирования удобства, которые правильно выполнили заданную задачу; один из самых простых и распространённых показателей юзабилити.

  • moderated testingсуществительноемодерируемое тестирование, тестирование с модератором

    Тестирование удобства, при котором исследователь в реальном времени ведёт сессию лично или по видеосвязи: даёт задания, задаёт вопросы и наблюдает за участником.

  • stubсуществительноезаглушка, тестовая заглушка

    Простая тестовая замена функции, сервиса или модуля, возвращающая заранее заданные данные в контролируемых условиях.

  • property-based testingсуществительноетестирование на основе свойств, property-based testing

    Проверка общих правил программы на множестве сгенерированных входных данных вместо нескольких выбранных вручную примеров.

  • mutation testingсуществительноемутационное тестирование, тестирование мутациями

    Оценка тестов путём внесения небольших намеренных изменений в код и проверки, обнаружат ли их существующие тесты.

  • fuzz testingсуществительноефазз-тестирование, тестирование случайными входными данными

    Проверка программы множеством автоматически сгенерированных или изменённых входов для поиска сбоев, уязвимостей и неожиданного поведения.

  • test oracleсуществительноеоракул теста, источник ожидаемого результата теста

    Источник или механизм, по которому определяют, верен ли наблюдаемый результат теста.

  • boundary value analysisсуществительноеанализ граничных значений

    Метод проектирования тестов, выбирающий значения на границах допустимого диапазона и рядом с ними.

  • equivalence partitioningсуществительноеразбиение на классы эквивалентности, эквивалентное разбиение

    Разделение возможных входных данных на группы, для которых ожидается одинаковое поведение, с проверкой представителей групп.

  • contract testingсуществительноеконтрактное тестирование, проверка контрактов

    Проверка того, соблюдают ли взаимодействующие компоненты согласованные ожидания к запросам, ответам или сообщениям.

  • test fixtureсуществительноетестовая фикстура, тестовая среда данных

    Подготовленные данные, объекты или ресурсы, задающие тесту известное начальное состояние.

Отладка и устранение неполадок

  • bugсуществительноеошибка, дефект

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

  • fixглаголисправлять, исправление

    Изменить код так, чтобы проблема больше не возникала; как существительное fix — изменение, решающее проблему.

  • debugглаголотлаживать, искать и устранять ошибку

    Искать причину проблемы в программе и устранять её, часто выполняя код пошагово и проверяя значения.

  • crashглаголаварийно завершаться, сбой

    Внезапно перестать работать из-за ошибки, так что программа закрывается или перестаёт отвечать. Также существительное: сбой.

  • reproduceглаголвоспроизвести, повторно вызвать

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

  • logсуществительноежурнал событий, лог

    Запись о событиях, сообщениях и ошибках, которую программа ведёт во время работы, чтобы позднее выяснить, что произошло. Также глагол: записать ошибку.

  • stack traceсуществительноетрассировка стека, стек вызовов

    Отчёт, выводимый при ошибке: цепочка вызовов функций, приведших к ней, с именами файлов и номерами строк.

  • root causeсуществительноепервопричина, коренная причина

    Исходная, самая глубокая причина проблемы в отличие от симптомов, которые заметили вначале.

  • workaroundсуществительноевременное решение, обходной путь

    Временный способ обойти проблему, не устраняя её по-настоящему, чтобы продолжить работу до готовности полноценного решения.

  • exceptionсуществительноеисключение, исключительная ситуация

    Событие ошибки, прерывающее обычный ход программы. Код может перехватить и обработать его либо из-за него программа аварийно завершится.

  • breakpointсуществительноеточка останова, брейкпоинт

    Метка на строке кода, приостанавливающая программу при выполнении, чтобы изучать переменные и пошагово проходить код.

  • error messageсуществительноесообщение об ошибке, текст ошибки

    Текст, который программа показывает при сбое и сообщает, что именно не удалось, а иногда и почему: например, File not found или Connection refused.

  • troubleshootглаголискать и устранять неисправность, диагностировать проблему

    Последовательно искать причину проблемы и устранять её, особенно в работающей системе, настройке или среде пользователя.

  • bug reportсуществительноеотчёт об ошибке, сообщение о дефекте

    Письменное описание проблемы в программе: обычно в нём указаны фактический и ожидаемый результат, а также способ повторить сбой.

  • syntax errorсуществительноесинтаксическая ошибка

    Ошибка в записи кода, например пропущенная скобка или неверно написанное ключевое слово, из-за которой программа не компилируется или не запускается.

  • debuggerсуществительноеотладчик

    Инструмент, позволяющий приостановить работающую программу, пошагово пройти её код и посмотреть значения переменных, чтобы выяснить причину неправильного поведения.

  • step throughфразовый глаголпошагово выполнять код, проходить код по шагам

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

  • error handlingсуществительноеобработка ошибок

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

  • memory leakсуществительноеутечка памяти

    Ошибка, при которой программа удерживает больше не нужную ей память; её потребление постепенно растёт, пока работа не замедлится или не завершится сбоем.

  • infinite loopсуществительноебесконечный цикл

    Цикл, который не завершается, потому что условие выхода никогда не выполняется; он может заморозить программу или загрузить процессор на 100 процентов.

  • off-by-one errorсуществительноеошибка на единицу, ошибка границы диапазона

    Распространённая ошибка цикла или вычисления, когда результат на один шаг больше или меньше нужного, часто из-за отсчёта с нуля.

  • steps to reproduceсловосочетаниешаги воспроизведения ошибки, инструкция для повторения сбоя

    Точный перечень действий, позволяющих снова вызвать ошибку; его записывают в отчёт, чтобы разработчик мог увидеть проблему сам.

  • monitoringсуществительноемониторинг, наблюдение за системой

    Непрерывный сбор и проверка данных о системах — например, загрузки процессора, частоты ошибок и времени ответа, — позволяющие быстро замечать проблемы.

  • alertсуществительноеоповещение, предупреждение

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

  • incidentсуществительноеинцидент, серьёзный сбой

    Незапланированное событие, которое нарушает работу службы или ухудшает её для пользователей — например, отказ, сильное замедление или проблема с данными — и требует быстрого реагирования.

  • outageсуществительноеперерыв в работе, отказ сервиса

    Период, в течение которого служба, система или её часть не работает либо недоступна пользователям.

  • downtimeсуществительноепростой, время недоступности

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

  • uptimeсуществительноевремя бесперебойной работы, доступность

    Время или доля времени, когда система работает и доступна; часто указывается, например, как 99,9 процента за месяц или год.

  • SLAсокращениесоглашение об уровне обслуживания, SLA

    Сокращение от service level agreement: договор, который обещает клиентам определённый уровень обслуживания, например доступность 99,9 процента, и определяет последствия его несоблюдения.

  • on-callприлагательноедежурство, дежурный по вызову

    Готовность отвечать вне обычного рабочего времени, если произойдёт инцидент или сработает оповещение. Инженеры дежурят по очереди за своими службами.

  • metricсуществительноеметрика, измеряемый показатель

    Числовой показатель, который регулярно измеряют во времени, чтобы отслеживать поведение системы, например загрузку процессора, память, число запросов или частоту ошибок.

  • dashboardсуществительноепанель мониторинга, дашборд

    Экран, который собирает в одном месте важнейшие метрики и графики системы, чтобы инженеры могли сразу оценить её состояние.

  • observabilityсуществительноенаблюдаемость, возможность исследовать состояние системы

    Насколько хорошо можно понять внутреннее состояние системы по создаваемым ею данным, особенно журналам, метрикам и трассировкам, в том числе при непредвиденных проблемах.

  • tracingсуществительноетрассировка, распределённая трассировка

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

  • health checkсуществительноепроверка работоспособности, проверка состояния

    Регулярная автоматическая проверка, часто запрос к специальному адресу, например /health, которая показывает, работает ли сервер или служба и готова ли принимать трафик.

  • postmortemсуществительноеразбор инцидента, послеинцидентный анализ

    Письменный разбор после инцидента, описывающий события, последствия, хронологию, коренную причину и меры, которые предотвратят повторение.

  • redundancyсуществительноерезервирование, избыточность ресурсов

    Наличие дополнительных копий серверов, сетевых каналов, дисков или данных, благодаря которым система продолжает работать при отказе одного из компонентов.

  • disaster recoveryсуществительноеаварийное восстановление, восстановление после катастрофы

    Планы, инструменты и процессы восстановления систем и данных после крупного происшествия, например потери целого центра обработки данных или региона.

  • SLOсокращениецель уровня обслуживания, SLO

    Сокращение от service level objective: внутренняя цель надёжности службы, например успешное выполнение 99,9 процента запросов за 30 дней.

  • SREсокращениеобеспечение надёжности сайта, SRE

    Сокращение от site reliability engineering: применение методов разработки программного обеспечения для надёжной эксплуатации рабочих систем. Так также называют инженера, выполняющего эту работу.

  • runbookсуществительноеинструкция по эксплуатации, пошаговое руководство для дежурного

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

  • crash dumpсуществительноедамп сбоя, дамп аварийного завершения

    Файл или запись, сохраняемые при аварийном завершении программы и содержащие данные о памяти и состоянии для последующей отладки.

  • step outфразовый глаголвыйти из функции, шаг с выходом из функции

    Команда отладчика, которая выполняет оставшуюся часть текущей функции и возвращает управление коду, вызвавшему её.

  • trace loggingсуществительноетрассировочное журналирование, подробное журналирование выполнения

    Очень подробное журналирование небольших шагов программы, помогающее проследить ход выполнения при отладке или поиске трудноуловимой ошибки.

  • interactive debuggingсловосочетаниеинтерактивная отладка, отладка в интерактивном режиме

    Метод отладки, при котором выполнение приостанавливают, исследуют состояние и пошагово выполняют команды в работающей программе.

  • watchpointсуществительноеточка наблюдения, watchpoint отладчика

    Настройка отладчика, при которой выполнение приостанавливается при чтении или изменении выбранной области памяти — в зависимости от конфигурации.

  • use-after-freeсуществительноеобращение после освобождения памяти, использование освобождённого объекта

    Доступ к области памяти после её освобождения, когда она уже недействительна для исходного объекта.

  • buffer overflowсуществительноепереполнение буфера, выход записи за границы буфера

    Запись за выделенную границу буфера, способная повредить соседние данные или вызвать сбой.

  • livelockсуществительноеактивная блокировка, живой тупик

    Сбой, при котором задачи продолжают реагировать или повторять действия, но мешают друг другу продвигаться к полезному результату.

  • priority inversionсуществительноеинверсия приоритетов

    Проблема планирования, при которой высокоприоритетная задача ждёт ресурс, удерживаемый низкоприоритетной задачей.

  • Heisenbugсуществительноехайзенбаг, неуловимая ошибка

    Неформальное название ошибки, которая меняется или исчезает при попытке наблюдать или исследовать её.

Архитектура, шаблоны проектирования и графика

  • frameworkсуществительноефреймворк, каркас приложения

    Готовая основа для создания приложений с правилами, инструментами и типовыми компонентами, где разработчик пишет специфичный для продукта код.

  • dependencyсуществительноезависимость, зависимый компонент

    Библиотека, сервис или другой программный компонент, необходимый вашему коду для работы; его изменение или сбой может повлиять на проект.

  • tech stackсуществительноетехнологический стек, стек технологий

    Набор языков программирования, фреймворков, баз данных и инструментов команды для создания и запуска продукта.

  • architectureсуществительноеархитектура

    Высокоуровневая структура программной системы: основные части, способы их взаимодействия и ключевые технические решения.

  • design patternсуществительноешаблон проектирования, паттерн проектирования

    Проверенное повторно используемое решение распространённой задачи проектирования, например Singleton, Factory или Observer; это подход, а не готовый код.

  • trade-offсуществительноекомпромисс, взаимный компромисс

    Ситуация, когда получение большего одного преимущества означает уступку в другом, например скорости ради точности или простоты ради гибкости.

  • scalableприлагательноемасштабируемый, способный масштабироваться

    Способный выдерживать рост числа пользователей, данных или трафика за счёт ресурсов без полной переработки и значительного замедления.

  • microservicesсуществительноемикросервисы, микросервисная архитектура

    Архитектура из множества небольших независимых сервисов с отдельными задачами, взаимодействующих по сети.

  • monolithсуществительноемонолит, монолитное приложение

    Приложение, собираемое и развёртываемое как единое целое: все функции используют общую кодовую базу и обычно одну базу данных.

  • modularприлагательноемодульный

    Состоящий из отдельных независимых частей с чёткими границами, чтобы каждую можно было понять, проверить, изменить или заменить отдельно.

  • abstractionсуществительноеабстракция, уровень абстракции

    Сокрытие сложных подробностей за более простым интерфейсом, позволяющее пользоваться компонентом, не зная его внутреннего устройства; например вызвать save(), не зная SQL-запроса.

  • separation of concernsсуществительноеразделение ответственности, разделение областей ответственности

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

  • loose couplingсуществительноеслабая связанность, слабое сопряжение компонентов

    Проектирование системы, в которой её части как можно меньше зависят друг от друга, поэтому изменение одной редко требует изменений в остальных.

  • dependency injectionсуществительноевнедрение зависимостей, инъекция зависимостей

    Приём, при котором объект получает необходимые ему компоненты, например клиент базы данных, извне, а не создаёт их сам; это упрощает тестирование кода.

  • design docсуществительноедокумент проектирования, описание технического решения

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

  • over-engineeringсуществительноеизбыточное проектирование, чрезмерное усложнение решения

    Создание решения сложнее, чем требует задача, например добавление слоёв, настроек или гибкости для будущих потребностей, которые могут не возникнуть.

  • proof of conceptсуществительноепроверка концепции, прототип для проверки идеи

    Небольшая быстрая версия идеи, создаваемая лишь для технической проверки её реализуемости до затрат на полноценную разработку.

  • game engineсуществительноеигровой движок

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

  • assetсуществительноеигровой ресурс, ассет

    Любой файл с игровым содержимым: например, 3D-моделью, текстурой, звуковым эффектом, анимацией или музыкой; обычно его импортируют в игровой движок.

  • frame rateсуществительноечастота кадров, FPS

    Количество кадров, которые игра выводит на экран за секунду; измеряется в кадрах в секунду (fps). Чем выше и стабильнее частота, тем плавнее выглядит и ощущается игра.

  • game design documentсуществительноедокумент игрового дизайна, дизайн-документ игры

    Документ с подробным описанием планируемой игры: концепции, механик, сюжета, уровней, персонажей и управления, чтобы команда создавала одну и ту же игру.

  • NPCсокращениенеигровой персонаж, NPC

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

  • HUDсокращениеинтерфейс поверх игрового изображения, HUD

    Информация, отображаемая поверх игрового вида во время игры: например, здоровье, боеприпасы, мини-карта и счет.

  • spriteсуществительноеспрайт, двумерное игровое изображение

    Двумерное изображение, используемое как игровой объект, например персонаж, враг, монета или взрыв. Последовательность спрайтов создает анимацию.

  • collision detectionсуществительноеобнаружение столкновений, проверка столкновений

    Часть игры, которая проверяет, касаются ли два объекта друг друга или пересекаются, например пуля с врагом или персонаж с платформой.

  • shaderсуществительноешейдер

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

  • scriptсуществительноескрипт, сценарий поведения

    Фрагмент кода, управляющий поведением объекта или события в игре: например, открытием двери, патрулированием врага или запуском задания; обычно он привязан к объекту в движке.

  • game loopсуществительноеигровой цикл, цикл игры

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

  • sceneсуществительноесцена, игровая сцена

    Часть проекта в игровом движке — например меню, уровень или тестовая площадка, — содержащая размещенные объекты, источники света и камеры.

  • prefabсуществительноепрефаб, заготовка игрового объекта

    Сохраненный повторно используемый игровой объект со всеми частями и настройками, например враг или дверь; его можно размещать много раз, а изменение префаба обновляет копии.

  • physics engineсуществительноефизический движок, движок физики

    Система, моделирующая в игре физические явления — например гравитацию, столкновения, трение и силы, — чтобы объекты правдоподобно падали, отскакивали и толкали друг друга.

  • hitboxсуществительноехитбокс, область регистрации попадания

    Невидимая форма вокруг персонажа или его части, по которой игра определяет, попала ли атака или пуля; она часто проще видимой модели.

  • textureсуществительноетекстура

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

  • polycountсуществительноечисло полигонов, поликаунт

    Количество полигонов, обычно треугольников, из которых состоит 3D-модель или сцена. Меньшее число ускоряет отрисовку, но снижает детализацию.

  • optimizationсуществительноеоптимизация

    Работа по ускорению игры и снижению расхода памяти, заряда батареи или пропускной способности, например за счет упрощения моделей, уменьшения числа вызовов отрисовки или переписывания медленного кода.

  • spawnглаголпоявляться в игровом мире, создавать объект в игре

    Создать персонажа, врага или предмет в игровом мире либо появиться там. Spawn point — место такого появления.

  • checkpointсуществительноеконтрольная точка, чекпойнт

    Место на уровне, где игра сохраняет прогресс, чтобы после неудачи или гибели игрок продолжил оттуда, а не с самого начала.

Короткий тест: знаете ли вы эти термины?

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

Как изучать лексику: Разработка программного обеспечения

  • Читайте документацию, README, примечания к выпускам и обсуждения задач. Обращайте внимание на выражения, которые повторяются в вашей работе.
  • Учите сочетания целиком: fix a bug, report a bug, steps to reproduce. Так проще использовать термин в собственной фразе.
  • Практикуйтесь в коротких сообщениях: описаниях задач, комментариях к коду и сообщениях коммитов.
  • Запоминайте произношение сокращений: API и SDK обычно произносят по буквам, JSON — как имя Jason, а REST — как одно слово.
  • Сохраняйте вежливые фразы для командной работы: Could you take a look? и What do you think about…?

Частые вопросы

Как учить английские термины разработки ПО?

Читайте реальные рабочие тексты и отмечайте контекст: документацию, README, обсуждения задач и комментарии к pull request. Учите слово вместе с типичными сочетаниями, например open a pull request и fix a bug, а затем используйте их в своих сообщениях.

С каких терминов начать?

Начните с bug, fix, commit, branch, pull request, merge, code review, deploy, release, ticket, sprint и stand-up. Затем переходите к тестированию, отладке, архитектуре и API — в зависимости от задач, с которыми сталкиваетесь.

Отличается ли британский английский от американского в программировании?

В коде, названиях API и значительной части документации встречается американское написание: color, initialize, behavior. В обычном тексте британские авторы могут писать colour или behaviour, но имя свойства CSS color менять нельзя. Произношение некоторых слов также различается, например agile и route.

Использовать русское название или английский термин?

Сохраняйте точные английские имена в коде, API и командах. В объяснениях для русскоязычной аудитории выбирайте понятный русский эквивалент и при необходимости указывайте английский термин рядом. Для командных обсуждений учитывайте принятую в проекте терминологию.

Как рассказывать о работе на английском на встречах и при проверке кода?

Для короткого отчёта подойдут Yesterday I fixed…, today I'm working on…, no blockers. При проверке кода можно написать Could you take a look at my PR? или I've addressed your comments. Пометка nit обозначает мелкое замечание, а LGTM — одобрение. Вежливый вопрос What do you think about…? помогает обсудить предложение без категоричного требования.

Закрепляйте лексику чтением

Тексты подходящего уровня помогают запоминать новые слова. Выберите бесплатные книги на английском: