Сувора типізація, наука, fandom powered by wikia

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

Сувора типізація має на увазі виконання двох обов'язкових умов:

  1. Кожне значення, змінна, параметр і повертає значення функції на етапі проектування програми безумовно прив'язується до певного типу даних, який не може бути змінений під час виконання програми (т. Н. Статична типізація).
  2. Допускається присвоювання змінної тільки значення, що має строго той же тип даних, що і змінна, ті ж обмеження діють щодо передачі параметрів і повернення результатів функцій.
  3. Кожна операція вимагає параметрів строго певних типів.
  4. Неявне перетворення типів не допускається.

При точному проходженні вимогам суворої типізації навіть однакові за складом значень і допустимим операціями типи даних є несумісними. Якщо в програмі необхідно присвоїти значення одного типу даних змінної іншого типу, це можна зробити, але тільки шляхом явного застосування спеціальної операції перетворення типу, яка в таких випадках зазвичай є частиною мови програмування (хоча може формально і не бути нею, а надаватися стандартними бібліотеками) .

В теорії програмування сувора типізація є неодмінним елементом забезпечення надійності розроблюваних програмних засобів. При правильному застосуванні (подразумевающем, що в програмі оголошуються і використовуються окремі типи даних для логічно несумісних значень) вона захищає програміста від простих, але труднообнаружіваемих помилок, пов'язаних зі спільним використанням логічно несумісних значень, що виникають іноді просто через елементарну описки. Подібні помилки виявляються ще на етапі компіляції програми, тоді як при можливості неявного приведення практично будь-яких типів один до одного (як, наприклад, в класичному мовою Сі) ці помилки виявляються тільки при тестуванні, причому не всі і не відразу. З іншого боку, багато професійні програмісти не люблять строгу типізацію через її незручності - вона збільшує обсяг програми і час її написання, вимагає більш ретельного опрацювання коду, що багатьом здається зайвим.

Виявлено використання розширення AdBlock.

Схожі статті