- •1. За яких обставин виникають помилки часу виконання? Наведіть приклади
- •2. Яким чином виявляються та усуваються логічні помилки?
- •3. Переваги об’єктно-орієнтованого підходу до обробки виняткових ситуацій.
- •4. Яке призначення обробника виняткової ситуації? Типи підключення обробника
- •5. Які дії може виконувати обробник виняткової ситуації?
- •6. Призначення відлагодження програм та його зв’язок із тестуванням
- •7. Які помилки не виявляють інтерактивні засоби від лагодження?
- •8. Використання механізму стверджень у мові с#
- •9. Використання механізму стверджень у мові Java
- •10. Як застосовується ітератор для проходження по колекції?
- •11. Порівняйте застосування ітератора і циклу for-each для проходження по колекції.
- •12. Наведіть приклад реалізації інтерфейсу Comparable та використання реалізації у відсортованих колекціях
- •13. Як створюється і для чого використовується у каркасі колекцій компаратор?
- •14. Що розуміється під коректністю програмного забезпечення?
- •15. Як визначаються передумови у с# Code Contracts?
- •16. Як визначаються постумови у с# Code Contracts?
- •17. Які методи використовуються в посту мовах для перевірки значень, що повертаються, у с# Code Contracts.
- •18. Як визначаються інваріанти об’єктів у с# Code Contracts.
- •19. Які символи та правила можуть використовуватися в узгодженнях щодо вибору
- •20. Доцільність використання узгоджень щодо вибору позначень типів та об’єктів
- •21. Які узгодження використовуються для позначення простору імен, класів, методів, полів, властивостей, змінних у мові с#?
- •22. Які узгодження використовуються для позначення класів, методів, полів, змінних у мові
- •23. Які узгодження використовуються для позначення класів, методів, полів, змінних у мові с?
- •24. Які узгодження використовуються для позначення програмних об’єктів в угорській нотації?
20. Доцільність використання узгоджень щодо вибору позначень типів та об’єктів
Доцільно використовувати узгодження коли:
Над проектом працюють декілька програмістів
Програму будуть супроводжувати і змінювати інші програмісти
Огляд програми виконують інші програмісти з цієї ж компанії
Програма така велика, що її мусять розглядати по частинам
Програма буде використовуватися довгий час, до неї треба буде повернутися через декілька неділь або місяців
Прикладна область має незвичайну термінологію і програміст хоче використовувати застосування термінів чи абревіатур у коді
21. Які узгодження використовуються для позначення простору імен, класів, методів, полів, властивостей, змінних у мові с#?
В іменах змінних не допускається застосування знака підкреслення. Кожне нове слово пишеться з великої літери.
Змінні не можуть починатися зі знака підкреслення.
Тільки змінні видні ззовні класу починаються з великої літери. Всі інші типи внутрішніх змінних починаються з малих літер.
Змінні повинні бути зрозумілими, використання однобуквенних змінних допускається тільки в циклах і деколи в лямбда-функціях.
Всі методи починаються з великої літери і не містять у своїй назві знака підкреслення.
Імена методів повинні бути написані англійською мовою. Транслітерація не допускається.
Іменування методів при поверненні булевого значення не має бути з від'ємним значенням.
22. Які узгодження використовуються для позначення класів, методів, полів, змінних у мові
Java?
В іменах змінних не допускається застосування знака підкреслення. Назви класів пишуться з великої літери. Всі змінні починаються з малих літер.
Змінні не можуть починатися зі знака підкреслення.
Змінні повинні бути зрозумілими, використання однобуквенних змінних допускається тільки в циклах і деколи в лямбда-функціях.
Всі методи починаються з маленької літери і не містять у своїй назві знака підкреслення.
Імена методів повинні бути написані англійською мовою. Транслітерація не допускається.
Іменування методів при поверненні булевого значення не має бути з від'ємним значенням.
23. Які узгодження використовуються для позначення класів, методів, полів, змінних у мові с?
Імена методів, змінних
- Назви методів повинні бути дієсловами, перша буква повинна бути малої, перші літери внутрішніх слів - великі.
- Імена змінних повинні починатися з малої літери, внутрішні слова - з великої.
- Імена констант складаються з усіх великих літер, розділених на слова символом підкреслення.
24. Які узгодження використовуються для позначення програмних об’єктів в угорській нотації?
Отже, на основі запропонованого підходу сформульовані наступні конкретні правила щодо вибору імен змінних:
1. Змінні іменуються згідно типу, за яким може слідувати кваліфікатор. Їх рекомендується розділяти. У З таким роздільником служить заголовна буква, наприклад, rowFirst, де row (стовпець) - тип, a First (перший) - кваліфікатор.
2. Кваліфікатори служать розрізненню змінних одного типу, що існують в загальному контексті. Таким контекстом може служити вся система, модуль, процедура або структура даних. Якщо для конкретного випадку існує "стандартний" кваліфікатор, то його і слід використовувати. В іншому випадку вибір залишається за програмістом.
Він не дуже складний, оскільки ім'я має бути унікальним в межах типу і обмеженого контексту. Випадок, коли в імені повинно бути присутніми два кваліфікаторов, є рідкістю.
Перелік стандартних кваліфікаторів та їх значення наводяться нижче.
3. Прості типи слід позначати коротко. Рекомендованf стислість багатьох програмістів дивує, але її призначення - надати реалізм четвертому пункту.
4. Імена складних або похідних типів слід конструювати з позначень складових типів. До стандартних випадків таких типів належать покажчики і масиви. В інших програміст вільний у своєму виборі. Наприклад, префікс p служить для позначення покажчиків, тоді ім'я prowLast означає покажчик на останній елемент стовпця.