структура данных, содержащая состояние и методы, связанные с этим состоянием
объект может быть создан как литерал {} или экземпляр класса
new ClassName() или как экземпляр прототипа new PrototypeConstructor() или
возвращен из фабрики
специальный объект, на который ссылаются его экземпляры, и свойства
которого становятся видны у наследников, если эти свойства не переопределены
у наследников (формируется цепочка прототипов, по которой последовательно
ищутся свойства, пока не будут найдены или пока не будет достигнут конец)
шаблон, который клонируется во время инстанциирования
Флаг / Flag
Логическое значение, определяющее состояние чего-либо, например, признак
закрытия соединения, признак завершения поиска по структуре данных и т.д.
функциональное программирование: отображение или преобразование, элементов
одного множества в элементы другого множества
императивное программирование: ссылка на блок операторов (не обяхательно
именованный), реализующий последовательность действий
обобщенное определение: выражение или блок операторов имеющий имя или
анонимный, преобразующий аргументы в результаты или изменяющий состояние
контекстов или объектов
шаблон проектирования, предполагающий, что в одном пространстве имен
(процессе, приложении, базе данных) будет только один экземпляр класса
(или просто один подобный объект) к которому можно обратиться по определенному
(известному) имени
многократное повторение одного блока кода или одной функции над различными
данными: элементами массивов, множдеств, списков, коллекций и различными
значениями переменной цикла
синтаксическая конструкция, позволяющая выполнить разные действия или
возвращающая разные значения (тернарный оператор) в зависимости от логического
выражения (возвращающего true или false)
последовательность символов (в большинстве языков к каждому символу можно
обратиться через синтаксис доступа к элементам массива, например, квадратные
скобки)
структура данных, реализующая математическое "множество"
структура данных, служащая для хранения одногодного набора значений, которые
не имеют индексов или ключей (но внутри структуры данных они должны иметь
порядок, например, индекс в массиве, однако, множество абстрагирует нас от
этой особенности реализации)
операции, выходящие за рамки CPU и RAM (арифметико-логического устройства
и памяти), т.е. операции с устройствами ввода вывода: сеть, диск, порты,
консоль (клавиатура и экран), друге переферийные устройства (взаимодействие
с которыми на порядки медленнее, чем внутренние операции а АЛУ и памяти)
преобразование структуры данных (развернутую в памяти) в битовую
последовательность, обычно в последовательность байтов: бинарная сериализация
или в строку - текстовая сериализация
целостный, функционально полный, независимый компонент программной системы
имеющий имя, интерфейс, реализацию
модульность повышает переиспользование кода, упрощает интеграцию компонентов,
улучшает компоновку и тестирование программ по частям
ограничения: модули не должны использовать глобальные переменные или
модифицировать базовые классы/прототипы/функции языка программирования,
платформы и/или фреймворка; модули должны быть слабо связаны, взаимодействовать
друг с другом только через внешнее API (предпочтительно) или шину событий
(если система построена на событийной модели, подписке или модели акторов)
связанность программных компонентов, при которой один компонент (зависимый)
"знает" другой; это значит, что в нем помещен вызов метода (реализация которого
содержится в другом) или он слушает событие, которое генерирует другой или
он "знает" структуры данных, которые могут быть переданы из другого компонента
статический анализатор кода (без запуска), который может определить и
предложить стилистические, грамматические или оптимизационное улучшение или
просто выявить проблему (а иногда и исправить ее автоматически)
Декомпозиция / Decomposition
разделение программного компонента на части по принципу функциональности,
при этом, каждая часть будет решать подзадачу и появится часть кода, которая
определяет порядок связи всех частей (композицию)
функция или метод для инстациирования объектов, функций, структур данных и
любых других программных абстракций, например, экземпляров класса в обход
конструктора или функциональных объектов
Множество заранее инстанциированных объектов (или массивов, сокетов, буферов,
структур данных и других программных абстракций) из которого мы можем их брать
инициализированные экземпляры (вместо инстанциирования новых) и отдавать их
после использования