Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Принципи ініціалізації змінних

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

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

· Значення змінної застаріло. Колись змінній було присвоєно значення, але воно втратило актуальність.

· Одним частинам змінної були присвоєні значення, а іншим ні.

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

1) Ініціалізуйте кожну змінну при її оголошенні. Ініціалізація змінних при їх оголошенні – проста методика захисного програмування і хороша страховка від помилок ініціалізації.

2) Ініціалізуйте кожну змінну там, де вона використовується вперше. Visual Basic та деякі інші мови не дозволяють ініціалізувати змінну при її оголошенні. В результаті, код може набувати вигляду, коли змінні спочатку оголошуються, а потім ініціалізуються, і це відбувається далеко від місця першого використання даних змінних.

Приклад поганої ініціалізації змінних (Visual basic)

' оголошення всіх змінних

Dim accountIndex As Integer

Dim total As Double

Dim done As Boolean

' ініціалізація всіх змінних

accountIndex = 0

total =0.0

done = False

...

' використання змінної accountIndex

...

' використання змінної total

...

' використання змінної done

While Not done

...

 

Краще ініціалізувати кожну змінну ближче до місця її першого використання:

 

Dim accountIndex As Integer

accountIndex = 0

' використання змінної accountIndex

...

Dim total As Double

total = 0.0

 

'використання змінної total

...

Dim done As Boolean

done = False

' використання змінної done ...

While Not done

 

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

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

3) В ідеальному випадку потрібно оголошувати та ініціалізовувати змінну безпосередньо перед першим зверненням до неї. Не всі мови це дозволяють.

4) По мірі можливості потрібно оголошувати змінні як final чи const.

5) Потрібно приділяти особливу увагу лічильникам та акумуляторам.

Змінні i, j, k, sum, total часто грають роль лічильників чи акумуляторів. Нерідко програмісти забувають задати нульове значення лічильнику чи акумулятору перед його черговим використанням.

6) Потрібно ініціалізувати поля класу в його конструкторі.

7) Потрібно уважно слідкувати за повідомленнями компілятора – він попереджає про не ініціалізовані змінні.

 


Читайте також:

  1. Cинтаксис опису змінних
  2. Абуджийські керівні принципи
  3. Аграрна політика як складова економічної політики держави. Сут­ність і принципи аграрної політики
  4. Адміністративна відповідальність: поняття, мета, функції, принципи та ознаки.
  5. АНОДНИХ ТА ЗНАКОЗМІННИХ ЗОН
  6. Антикорупційні принципи
  7. Антикорупційні принципи
  8. Антикорупційні принципи
  9. Антикорупційні принципи
  10. АРХІВНЕ ОПИСУВАННЯ: ПОНЯТТЯ, ВИДИ, ПРИНЦИПИ І МЕТОДИ
  11. АРХІВНЕ ОПИСУВАННЯ: ПОНЯТТЯ, ВИДИ, ПРИНЦИПИ І МЕТОДИ
  12. Б/. Принципи виборчого права.




Переглядів: 902

<== попередня сторінка | наступна сторінка ==>
Принципи використання змінних. | Одиничність мети кожної змінної

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.