- •1. Оформление кода. Венгерская нотация и нотация Lower Case.
- •2. Автоматические системы документирования. Команды
- •3. Понятие контроля версий проекта. Основные системы контроля версий.
- •4. Система Git. Основные команды Git.
- •5. Модели разработки программного обеспечения. Водопад.
- •6. Модели разработки программного обеспечения. Спираль.
- •7. Модели разработки программного обеспечения. V-образная модель.
- •10. Google Test. Нефатальные утверждения.
- •8. Google Test. Утверждения Google Test.
- •9. Google Test. Фатальные утверждения.
- •11. Разработка через тестирование.
- •12. Объектно-ориентирование программирование.
- •13. Парадигмы объектно-ориентированного программирования.
- •14. Классы и объекты.
- •15. Поля и методы класса.
- •16. Методы класса. Методы set и get.
- •17. Правила доступа и оформления при ооп.
- •18. Конструкторы и деструкторы.
- •19. Конструктор по умолчанию.
- •Пример Конструктора по умолчанию
- •20. Использование спецификаторов доступа.
- •21. Инкапсуляция. Разделение интерфейса и реализации в проекте.
- •22. Защита от повторной компиляции. Назначение. Пример.
- •23. Одиночное и множественное наследование.
- •24. Виртуальная функция. Чистая виртуальная функция.
- •25. Абстрактный класс.
- •26. Полиморфизм.
- •27. Перегрузка бинарных операторов.
- •28. Перегрузка унарных операторов.
- •29. Перегрузка функций.
- •30. Перегрузка операторов. Постфиксная и префиксные формы.
- •31. Технология rad.
- •32. Интегрированная среда разработки.
- •33. Rad. Свойства, события и методы.
- •34. Rad. Стандартная библиотека компонент vcl. Иерархия vcl.
- •35. Rad. События мыши.
- •36. Canvas. Основные методы Canvas.
- •37. Canvas. Основные свойства tBrush.
- •38. Canvas. Основные свойства tPen.
- •39. Пользовательские диалоги.
- •40. Диалог InputBox.
- •InputBox
- •InputBox(prompt[, title] [, default] [, xpos] [, ypos]),
- •41. Тип данных UnicodeString. Основные методы UnicodeString.
- •42. Понятие ошибочной ситуации.
- •43. Исключительная ситуация. Генерация, раскручивание стека и перехват при возникновении исключений.
- •1. Обработка ошибок
- •2. Генерация и перехват исключений
- •45. Понятие структуры данных. Состав элемента структуры.
- •46. Структуры данных: стек, очередь, список.
- •47. Структуры данных: множества, мультимножества, дерево.
- •48. Алгоритмы, контейнеры и итераторы.
- •49. Контейнер как структура данных.
- •Как выбрать контейнер?
- •50. Методы контейнеров.
- •51. Stl. Контейнер list.
- •52. Stl. Контейнер vector.
- •53. Slt. Контейнер map.
- •54. Stl. Контейнер set.
- •55. Основные алгоритмы stl. Алгоритм find.
- •56. Основные алгоритмы stl. Алгоритм max_element.
- •57. Основные алгоритмы stl. Алгоритм sort.
- •58. Основные алгоритмы stl. Алгоритм reverse.
11. Разработка через тестирование.
Разработка через тестирование (англ. test-driven development, TDD) — техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест, и под конец проводится рефакторинг нового кода к соответствующим стандартам
Тест — это процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода. Когда программист проверяет работоспособность разработанного им кода, он выполняет тестирование вручную.
Использование разработки через тестирование предполагает написание большего количества тестов, в свою очередь, программисты, пишущие больше тестов, склонны быть более продуктивными
Тесты позволяют производить рефакторинг кода без риска его испортить
Разработка через тестирование способствует более модульному, гибкому и расширяемому коду
12. Объектно-ориентирование программирование.
Объе́ктно-ориенти́рованное программи́рование (ООП) — парадигма программирования, в которой основными концепциями являются понятияобъектов и классов. В случае языков с прототипированием вместо классов используются объекты-прототипы.
В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения и которая может на них реагировать, используя свои данные. Объект — это экземпляр класса. Данные объекта скрыты от остальной программы. Сокрытие данных называется инкапсуляцией.
Наличие инкапсуляции достаточно для объектности языка программирования, но ещё не означает его объектной ориентированности — для этого требуется наличие наследования.
Но даже наличие инкапсуляции и наследования не делает язык программирования в полной мере объектным с точки зрения ООП. Основные преимущества ООП проявляются только в том случае, когда в языке программирования реализован полиморфизм подтипов — возможность единообразно обрабатывать объекты с различной реализацией при условии наличия общего интерфейса.
Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.[1]
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе, и скрыть детали реализации от пользователя.[1]Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником, дочерним или производным классом.[1]Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.[1] При использовании термина «полиморфизм» в сообществе ООП подразумевается полиморфизм подтипов; а использование параметрического полиморфизма называют обобщённым программированием. Класс является описываемой на языке терминологии исходного кода моделью ещё не существующей сущности (объекта). Фактически он описывает устройство объекта, являясь своего рода чертежом. Говорят, что объект — это экземпляр класса. При этом в некоторых исполняющих системах класс также может представляться некоторым объектом при выполнении программы посредством динамической идентификации типа данных. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. Объект - сущность в адресном пространстве вычислительной системы, появляющаяся при создании экземпляра класса или копирования прототипа (например, после запуска результатовкомпиляции и связывания исходного кода на выполнение).Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.
