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

Англійська лексика для розробників програмного забезпечення

Вивчайте англійську лексику для розробки програмного забезпечення: від програмування й баз даних до вебу, мобільних застосунків, хмарних систем, безпеки та обробки даних. Визначення пояснюють значення термінів, а приклади показують, як їх уживають у робочому контексті. Кожен термін має українське пояснення та перекладені приклади.

  • 1 143 термінів
  • 13 тем
  • 430 основних термінів
  • 2 298 прикладів

Структури даних і алгоритми

  • Bloom filterіменникфільтр Блума

    Компактна структура для перевірки належності множині. Вона може помилково вказати на наявність відсутнього елемента, але за стандартного правильного використання не пропускає додані елементи.

  • disjoint-set data structureіменникструктура даних неперетинних множин

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

  • amortized analysisіменникамортизований аналіз

    Вивчення сумарної вартості послідовності операцій, щоб визначити вартість на одну операцію, навіть якщо окремі операції дуже різняться.

  • stable sortіменникстабільне сортування

    Метод сортування, який зберігає початковий взаємний порядок елементів з однаковими ключами сортування.

  • hash collisionіменникколізія хешу

    Випадок, коли різні вхідні дані дають однакове хеш-значення.

  • ring bufferіменниккільцевий буфер

    Буфер фіксованої місткості, позиція читання або запису в якому повертається на початок після досягнення кінця.

Контроль версій

  • pull requestіменникзапит на злиття, pull request

    Запит об’єднати зміни коду з однієї гілки з іншою, щоб колеги спершу могли їх перевірити й обговорити.

  • commitіменниккоміт, зафіксувати зміни

    Збережений знімок змін у репозиторії з коротким повідомленням про те, що й навіщо змінено. Також дієслово: зафіксувати зміни комітом.

  • branchіменникгілка

    Окрема лінія розробки в репозиторії, де можна працювати над змінами, не зачіпаючи основний код до готовності злити їх.

  • mergeдієсловозлити, злиття

    Об’єднати зміни з однієї гілки з іншою, щоб обидва набори роботи опинилися в тому самому коді.

  • repositoryіменникрепозиторій

    Сховище коду проєкту та повної історії його змін, зазвичай під керуванням Git і часто розміщене онлайн.

  • pushдієсловонадіслати, відправити коміти

    Надіслати локальні коміти до спільного віддаленого репозиторію, щоб їх побачили інші люди й автоматизовані системи.

  • merge conflictіменникконфлікт злиття

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

  • check outфразове дієсловоперемкнутися на, перевірити

    У Git перейти до файлів певної гілки чи коміту, щоб переглянути або використовувати відповідну версію коду.

  • cloneдієсловоклонувати, створити локальну копію

    Завантажити на свій комп’ютер повну копію віддаленого репозиторію разом з історією, щоб працювати з ним.

  • rebaseдієсловоперебазувати, rebase

    У Git перенести коміти своєї гілки так, щоб їхньою основою стала новіша точка, зазвичай останній main; це створює чистішу лінійну історію.

  • version controlіменникконтроль версій, система контролю версій

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

  • GitіменникGit, система Git

    Найпоширеніша система контролю версій: безплатний інструмент із відкритим кодом, який відстежує зміни в коді й дає багатьом розробникам працювати над одним проєктом.

  • pullдієсловоотримати й злити зміни, виконати pull

    Завантажити найновіші зміни з віддаленого репозиторію та злити їх із локальною копією, щоб код відповідав версії команди.

  • diffіменникрізниця між версіями, diff

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

  • commit messageіменникповідомлення коміту

    Короткий текст, що описує, що саме змінює коміт і навіщо. Згодом колеги читають його, щоб зрозуміти історію коду.

  • main branchіменникголовна гілка, гілка main

    Центральна гілка репозиторію з офіційною актуальною версією коду. Від неї створюють інші гілки, а потім зливають зміни назад.

  • feature branchіменникгілка функції, гілка для окремої функції

    Окрема гілка, створена для розробки однієї функції або виправлення, щоб роботу можна було розробляти й перевіряти, не впливаючи на головну гілку.

  • revertдієсловоскасувати коміт, відкотити зміну окремим комітом

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

  • forkдієсловофоркнути репозиторій, створити форк

    Створити власну копію чужого репозиторію на платформі на кшталт GitHub, щоб вільно змінювати її, а потім запропонувати зміни до оригінального проєкту.

  • stashдієслововідкласти зміни в stash, тимчасово зберегти незакомічені зміни

    У Git — тимчасово зберегти незавершені зміни й очистити робочу копію, щоб перейти до іншого завдання та згодом повернути ці зміни.

  • cherry-pickдієсловоперенести окремий коміт, вибірково перенести коміт

    У Git — перенести один конкретний коміт з однієї гілки до іншої, не зливаючи всю гілку. У загальній англійській — вибирати лише найкращі або найкорисніші речі.

  • forking workflowіменникробочий процес із форками, модель роботи через форки

    Модель співпраці в Git, за якої кожен учасник працює у власному форку, а потім надсилає зміни до основного репозиторію.

  • interactive rebaseіменникінтерактивне перебазування, інтерактивний rebase

    Режим перебазування Git, що дає змогу змінювати порядок комітів, об’єднувати, редагувати чи вилучати їх, переписуючи історію гілки.

  • merge baseіменникбаза злиття, спільний предок злиття

    Найкращий спільний предок двох комітів, який Git використовує під час обчислення тристороннього злиття.

  • fast-forward mergeіменникзлиття зі швидким перемотуванням, fast-forward merge

    Злиття в Git, за якого Git просто пересуває вказівник цільової гілки вперед, бо після відгалуження в ній не з’явилося власних комітів.

  • squashдієсловооб’єднати коміти, злити коміти в один

    Об’єднати кілька комітів в один, зазвичай щоб очистити історію гілки перед злиттям або перевіркою.

  • detached HEADіменниквід’єднаний HEAD

    Стан робочої копії, у якому HEAD безпосередньо вказує на коміт, а не на назву гілки.

  • reflogіменникжурнал посилань reflog

    Локальна історія змін посилань, наприклад попередніх комітів, на які вказували HEAD або гілка.

  • sparse checkoutіменникрозріджена робоча копія

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

  • shallow cloneіменникповерхневий клон

    Копія репозиторію з обмеженою частиною історії комітів замість повної історії джерела.

  • three-way mergeіменниктристороннє злиття

    Злиття, яке порівнює дві версії зі спільним предком, щоб визначити й поєднати зміни, зроблені в кожній гілці.

  • bisectдієсловобісекція (пошук коміту), бісектування

    Пошук зміни в упорядкованій послідовності версій: перевіряють проміжну версію й послідовно звужують діапазон пошуку.

Перевірка коду та його якість

  • code reviewіменникперевірка коду, код-рев’ю

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

  • refactorдієсловорефакторити, рефакторинг

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

  • technical debtіменниктехнічний борг

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

  • LGTMскороченняна мою думку, усе добре, LGTM

    Скорочення від looks good to me — короткий письмовий коментар перевіряльника, що зміни коду прийнятні й їх можна зливати.

  • nitpickіменникприскіпливе дрібне зауваження, nitpick

    Дуже дрібний необов’язковий коментар під час перевірки щодо назви, пробілу чи формулювання, який не має блокувати зміну; часто скорочують до nit.

  • address feedbackсловосполученняопрацювати відгуки, врахувати зауваження

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

  • linterіменниклінтер, аналізатор коду

    Інструмент, що перевіряє код без запуску й повідомляє про стильові проблеми, підозрілі шаблони та прості помилки, наприклад невикористані змінні.

  • hard-codedприкметникжорстко заданий у коді, зашитий у код

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

  • code smellіменникознака проблеми в коді, запах коду

    Ознака потенційної глибшої проблеми дизайну, наприклад надто довга функція, дубльована логіка чи забагато параметрів, навіть якщо код працює.

  • reviewerіменникрецензент коду, перевіряльник змін

    Колега, який читає й перевіряє чужі зміни коду, зазвичай у pull request, перш ніж їх дозволять злити.

  • approveдієсловосхвалити, затвердити

    Офіційно підтвердити, що зміна, план або запит є прийнятним. Під час перевірки коду схвалення pull request дає змогу злити його.

  • readableприкметникзрозумілий для читання, читабельний

    Такий, що іншій людині легко швидко прочитати й зрозуміти завдяки ясним назвам, простій структурі та коротким функціям.

  • best practiceіменникнайкраща практика, рекомендований підхід

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

  • clean codeіменникчистий код, охайний код

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

  • maintainableприкметникзручний у супроводі, підтримуваний

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

  • naming conventionіменникдомовленість про найменування, правила найменування

    Узгоджений набір правил для назв елементів коду — змінних, файлів і гілок, — щоб назви в межах проєкту були послідовними.

  • dead codeіменникмертвий код, невикористовуваний код

    Код, який ніколи не виконується або результат якого ніде не використовують, наприклад застаріла функція, яку більше не викликають. Він лише ускладнює читання кодової бази.

  • DRYскороченняDRY, принцип «не повторюйся»

    Скорочення від Don’t Repeat Yourself — принцип, за яким кожен фрагмент знань або логіки має існувати в одному місці коду, а не бути скопійованим у кількох місцях.

  • review commentіменниккоментар під час перевірки, коментар до рев’ю

    Зауваження під час перевірки, що ставить запитання, пропонує зміну або пояснює конкретну частину коду, тексту чи іншої зміни.

  • code standardіменникстандарт коду, стандарт написання коду

    Спільний набір правил щодо стилю, структури, назв та інших практик, що забезпечує послідовність коду.

  • deterministic buildсловосполученнядетермінована збірка, відтворювана збірка

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

  • cyclomatic complexityіменникцикломатична складність

    Міра коду, що ґрунтується на кількості незалежних шляхів у потоці керування програмою.

  • guard clauseіменникзахисна умова

    Рання перевірка, яка завершує функцію або блок для окремого випадку, перш ніж почнеться основна логіка.

  • shotgun surgeryіменникрозпорошення змін

    Недолік структури коду, за якого одна концептуальна зміна потребує багатьох дрібних правок у різних частинах кодової бази.

  • feature envyіменникнадмірна залежність методу від чужих даних

    Недолік структури коду, за якого метод активно використовує дані іншого об’єкта, що може свідчити про недоречне розміщення його відповідальності.

  • static analysisіменникстатичний аналіз

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

Тестування

  • unit testіменникмодульний тест, unit-тест

    Невеликий автоматизований тест, що перевіряє окремо одну функцію чи клас, без бази даних, мережі та решти системи.

  • test caseіменниктестовий випадок, сценарій тестування

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

  • edge caseіменникграничний випадок, нетипова ситуація

    Незвична ситуація на межі очікуваних програмою умов, наприклад порожній список, дуже довге ім’я чи 29 лютого.

  • QAскороченнязабезпечення якості, QA

    Скорочення від quality assurance: робота з перевірки відповідності програмного забезпечення вимогам і його належної роботи; також назва людей чи команди, що цим займаються.

  • regressionіменникрегресія, регресійна помилка

    Помилка, за якої після зміни перестає працювати те, що раніше працювало, наприклад нова функція ламає стару.

  • integration testіменникінтеграційний тест

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

  • test coverageіменникпокриття тестами, покриття коду тестами

    Показник, часто у відсотках, того, яку частину коду виконують автоматизовані тести; він вказує на перевірені й неперевірені ділянки.

  • mockіменникімітація, мок

    Підроблена версія реального об’єкта чи сервісу для тестування, поведінкою якої можна керувати й перевіряти, як її використовує код; також дієслово mock.

  • end-to-end testіменникнаскрізний тест, E2E-тест

    Тест, що проходить повний користувацький сценарій у реальній системі — наприклад відкриває сайт, виконує вхід і оформлює замовлення, — аби перевірити спільну роботу всіх частин.

  • flakyприкметникнестабільний, флейковий

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

  • test suiteіменникнабір тестів, тестовий набір

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

  • manual testingіменникручне тестування

    Перевірка програмного забезпечення людиною: вона переходить між екранами й пробує дії замість запуску автоматичних тестових сценаріїв.

  • automated testingіменникавтоматизоване тестування

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

  • assertionіменниктвердження-перевірка, перевірка-умова в тесті

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

  • smoke testіменникповерхнева перевірка працездатності, smoke test

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

  • happy pathіменникосновний успішний сценарій, happy path

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

  • TDDскороченняTDD, розробка через тестування

    Скорочення від test-driven development: спочатку пишуть тест, який не проходить, потім код для його проходження, а далі впорядковують код; цикл повторюють.

  • test environmentіменниктестове середовище, середовище тестування

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

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

    Скорочення від user acceptance testing — завершальний етап перевірки, на якому реальні користувачі або клієнт з’ясовують, чи відповідає програмне забезпечення їхнім потребам перед запуском.

  • crash reportіменникзвіт про збій, звіт про аварійне завершення

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

  • analyticsіменниканалітика, дані аналітики

    Дані про використання застосунку — наприклад, відкриті екрани й місця виходу, — які збирають як події для розуміння поведінки та оцінювання функцій.

  • crash-free rateіменникчастка користувачів без збоїв, показник роботи без збоїв

    Частка користувачів або сеансів, у яких за певний період не сталося збою; важливий показник стабільності застосунку.

  • device fragmentationіменникфрагментація пристроїв, різноманіття пристроїв

    Велика кількість пристроїв, розмірів екрана, апаратних характеристик і версій ОС, з якими має працювати застосунок; це ускладнює тестування, особливо на Android.

  • UI testіменникUI-тест, тест інтерфейсу

    Автоматизований тест, що використовує застосунок як людина: натискає кнопки, вводить текст і перевіряє вміст екрана.

  • battery drainіменникшвидке розряджання батареї, підвищене споживання заряду

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

  • app sizeіменникрозмір застосунку, обсяг застосунку

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

  • ANRскороченняANR, помилка «Застосунок не відповідає»

    Application Not Responding — помилка Android, що з’являється, коли головний потік надто довго заблокований, наприклад не реагує на дотик близько п’яти секунд.

  • prototypeіменникпрототип

    Швидка чорнова версія гри чи функції, створена, щоб перевірити задум або ігрове відчуття до витрат часу на фінальну графіку й полірування.

  • playtestіменникігрове тестування, плейтест

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

  • milestoneіменникконтрольний етап, майлстоун

    Узгоджений етап розробки, до якого треба підготувати й представити конкретний результат, наприклад демоверсію, альфу чи бету; видавці часто платять студії за етапами.

  • alphaіменникальфа-версія, альфа

    Етап розробки, коли всі основні функції вже є і гру можна пройти від початку до кінця, але в ній ще багато помилок, тимчасових матеріалів і відсутнє полірування.

  • betaіменникбета-версія, бета

    Етап після альфи, коли вміст гри завершено, а команда зосереджується на виправленні помилок і поліруванні; також тестування цієї версії для вибраних або всіх охочих.

  • vertical sliceіменниквертикальний зріз, vertical slice

    Коротка, але повністю доведена до фінальної якості частина гри, наприклад один рівень, що демонструє графіку, звук і процес гри та репрезентує майбутній продукт.

  • usabilityіменникзручність використання, юзабіліті

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

  • usability testingіменниктестування зручності використання, юзабіліті-тестування

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

  • heuristic evaluationіменникевристична оцінка, евристичне оцінювання

    Перевірка інтерфейсу фахівцями зі зручності використання за набором усталених принципів дизайну — евристик, щоб виявити проблеми без тестування з користувачами.

Короткий тест: чи знаєте ви ці терміни?

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

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

  • Читайте щодня тексти з розробки: офіційну документацію, README, нотатки до випусків, обговорення задач і коментарі до pull request. Звертайте увагу, як терміни працюють у реченні.
  • Вивчайте слово разом із типовими сполученнями: не лише bug, а й fix a bug, report a bug та steps to reproduce. Так легше вживати його природно.
  • Закріплюйте лексику в коротких робочих текстах англійською: описах комітів, задачах і коментарях до коду. Пишіть просто й перечитуйте, чи точно передали дію та її результат.
  • Тренуйте вимову скорочень так, як їх вимовляють команди: API і SDK зазвичай називають по літерах, JSON — як ім’я Jason, а REST — одним словом.
  • Збирайте ввічливі фрази для рев’ю та щоденних зустрічей, наприклад Could you take a look? або I’m blocked on…; звертайте увагу, у яких ситуаціях їх використовують.

Поширені запитання

Як вивчати англійську лексику з розробки програмного забезпечення?

Читайте справжні матеріали з галузі: документацію, 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 у США часто вимовляють як «раут», а у Великій Британії — як «рут».

На роботі краще вживати український чи англійський технічний термін?

У робочих розмовах часто залишають англійські терміни commit, merge, deploy і pull request, поєднуючи їх з українськими словами або адаптуючи в розмовних дієсловах на кшталт «задеплоїти». У формальних документах, навчальних курсах і наукових текстах частіше вживають українські відповідники: «випуск», «гілка», «модульний тест». Знання обох варіантів допомагає перемикатися між українським обговоренням і англомовним кодом та документацією.

Як англійською розповідати про свою роботу на щоденній зустрічі й у код-рев’ю?

Користуйтеся короткими усталеними фразами. На щоденній зустрічі можна сказати: 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…? зазвичай доречніше за прямий наказ.

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

Тексти відповідного рівня допомагають запам’ятовувати нові слова. Оберіть безкоштовні книжки англійською: