Инкапсуляция (encapsulation)– техника, при которой несущественная с точки зрения интерфейса объекта информация прячется внутри него (упаковка данных и функций в единый компонент)
Наследование (inheritance)– свойство объектов, посредством которого экземпляры класса получают доступ к данным и методам классов-предков без их повторного определения.(реализация одного класса в терминах другого)
Полиморфизм (polymorphism)– свойство, позволяющее использовать один и тот же интерфейс для различных действий; полиморфной переменной, например, может соответствовать несколько различных методов. (взаимозаменяемость одного объекта другим со схожим интерфейсом) (способность функции обрабатывать данные разных типов)
Понятие шаблона проектирования.
Антипаттерны Программирование методом copy-paste
Магические числа (непонятные числа в коде)
Магическая кнопка (когда множество различных действий сваливается в кучу в неподходящем месте)
Спагетти-код (запутанная и трудная программа)
Таинственный код (использование аббревиатур вместо мнемоничных имён)
Изобретение квадратного колеса (изобретение плохого решения, когда существует хорошее известное решение)
Жёсткое кодирование (внедрение предположений об окружении системы в слишком большом количестве точек её реализации)