Entity Component System
ECS — это шаблон проектирования Entity Component System. По-простому, то есть “Сущности” (Entity) — объекты-контейнеры, не обладающие свойствами, но выступающие хранилищами для “Компонентов”. “Компоненты” — это блоки данных, определяющие всевозможные свойства любых игровых объектов или событий. Все эти данные, сгруппированные в контейнеры, обрабатываются логикой, существующей исключительно в виде “Систем” — “чистых” классов с определенными методами для выполнения
В статье рассказывается о ECS подходе и сравнение его с объектно-ориентированным.
#architecture #principles #ecs
ECS — это шаблон проектирования Entity Component System. По-простому, то есть “Сущности” (Entity) — объекты-контейнеры, не обладающие свойствами, но выступающие хранилищами для “Компонентов”. “Компоненты” — это блоки данных, определяющие всевозможные свойства любых игровых объектов или событий. Все эти данные, сгруппированные в контейнеры, обрабатываются логикой, существующей исключительно в виде “Систем” — “чистых” классов с определенными методами для выполнения
В статье рассказывается о ECS подходе и сравнение его с объектно-ориентированным.
#architecture #principles #ecs
Medium
Entity Component System
ECS для преданных объектно-ориентированных разработчиков.
What is better — Functional programming or Object Oriented?
В статье приводяться рассуждения на тему использования функционального и объектно-ориентированного подхода программирования, приводятся примеры использования и раскрывается сузность этих двух парадигм.
#programming
В статье приводяться рассуждения на тему использования функционального и объектно-ориентированного подхода программирования, приводятся примеры использования и раскрывается сузность этих двух парадигм.
#programming
Medium
What is better — Functional programming or Object Oriented?
Вы, вероятно, задаете не тот вопрос
Why You Should Use Kubernetes In Your Next Project
Если вы не живете под скалой, вы, вероятно, слышали о Kubernetes, также известном как Kube или K8s, одном из лучших инструментов управления контейнерами на рынке.
Из этого вытекает вопрос. Так что же такое контейнер и чем вы можете воспользоваться для работы с ними?
Проще говоря, контейнер — это пакет, который содержит код приложения и все его зависимости, необходимые для запуска приложения. Приложения внутри контейнера изолированы от остальной части хост-системы и всегда работают одинаково, независимо от среды. Подробнее в статье.
#docker #containers
Если вы не живете под скалой, вы, вероятно, слышали о Kubernetes, также известном как Kube или K8s, одном из лучших инструментов управления контейнерами на рынке.
Из этого вытекает вопрос. Так что же такое контейнер и чем вы можете воспользоваться для работы с ними?
Проще говоря, контейнер — это пакет, который содержит код приложения и все его зависимости, необходимые для запуска приложения. Приложения внутри контейнера изолированы от остальной части хост-системы и всегда работают одинаково, независимо от среды. Подробнее в статье.
#docker #containers
Medium
Why You Should Use Kubernetes In Your Next Project
Почему вы должны использовать Kubernetes в вашем следующем проекте.
The Planned Obsolescence of Old Coders
В этой статье речь пойдет о меньшинстве "Старших" в it-индустрии. О том, как стоит развиваться, когда вы уже не способны угнаться за развитием технологий и какой подход выбрать, чтобы в определенный момент вас не выгнали с работы, на основании вашего возраста.
#industry #programming
В этой статье речь пойдет о меньшинстве "Старших" в it-индустрии. О том, как стоит развиваться, когда вы уже не способны угнаться за развитием технологий и какой подход выбрать, чтобы в определенный момент вас не выгнали с работы, на основании вашего возраста.
#industry #programming
Medium
Ctrl-Alt-Delete: The Planned Obsolescence of Old Coders
Старые кодеры никогда не умирают, они просто становятся менеджерами среднего звена.
F.I.R.S.T. Principle
Помимо принципов проектирования существуют и другие, незаслуженно менее известные принципы, которые положены в основу написания качественных тестов. На каждом шагу говорится о качестве кода, продуманности дизайна или архитектуры, но при этом довольно слабо уделяется внимание читабельности и сопровождаемости тестов. В этой статье описан принцип написания чистых тестов, который состоит из пяти характеристик.
#tests #principles
Помимо принципов проектирования существуют и другие, незаслуженно менее известные принципы, которые положены в основу написания качественных тестов. На каждом шагу говорится о качестве кода, продуманности дизайна или архитектуры, но при этом довольно слабо уделяется внимание читабельности и сопровождаемости тестов. В этой статье описан принцип написания чистых тестов, который состоит из пяти характеристик.
#tests #principles
Medium
F.I.R.S.T.
Пять характеристик чистых тестов.
Minimum classes and methods
Минимум классов и методов. Даже такие фундаментальные концепции, как устранение дубликатов, выразительность кода и принцип единой ответственности, могут зайти слишком далеко. Стремясь уменьшить объем кода наших классов и методов, мы можем наплодить слишком много крошечных классов и методов. Это правило рекомендует ограничиться небольшим количеством функций и классов.
Многочисленность классов и методов иногда является результатом бессмысленного догматизма. В качестве примера можно привести стандарт кодирования, который требует создания интерфейса для каждого без исключения класса. Или разработчиков, настаивающих что поля данных и поведение всегда должны быть разделены на классы данных и классы поведения. Избегайте подобных догм, а в своей работе руководствуйтесь более прагматичным подходом.
#classes #methods
Минимум классов и методов. Даже такие фундаментальные концепции, как устранение дубликатов, выразительность кода и принцип единой ответственности, могут зайти слишком далеко. Стремясь уменьшить объем кода наших классов и методов, мы можем наплодить слишком много крошечных классов и методов. Это правило рекомендует ограничиться небольшим количеством функций и классов.
Многочисленность классов и методов иногда является результатом бессмысленного догматизма. В качестве примера можно привести стандарт кодирования, который требует создания интерфейса для каждого без исключения класса. Или разработчиков, настаивающих что поля данных и поведение всегда должны быть разделены на классы данных и классы поведения. Избегайте подобных догм, а в своей работе руководствуйтесь более прагматичным подходом.
#classes #methods
Color Threads: Подход к раскраске потоков
Стремись повысить сопровождаемость нашего кода, мы используем общепринятые практики, в том числе в вопросах многопоточности. Конечно, это не решает всех сложностей, которые приносит за собой постоянно растущая нагрузка, но упрощает поддержку — выигрывает и читаемость кода, и скорость разработки новых фич.
#multithreading
Стремись повысить сопровождаемость нашего кода, мы используем общепринятые практики, в том числе в вопросах многопоточности. Конечно, это не решает всех сложностей, которые приносит за собой постоянно растущая нагрузка, но упрощает поддержку — выигрывает и читаемость кода, и скорость разработки новых фич.
#multithreading
Medium
Color Threads
Наш подход к раскраске потоков.
Business needs good code
В этой статье рассказывается, к чему может привести «упор на характеристики», вместо заботы о качестве кода, и почему хороший код нужен не только программистам.
Если вас обижают бизнес-аналитики и ущемляют ваши требования рефакторинга, то смело пересылайте им эту статью.
#business #code
В этой статье рассказывается, к чему может привести «упор на характеристики», вместо заботы о качестве кода, и почему хороший код нужен не только программистам.
Если вас обижают бизнес-аналитики и ущемляют ваши требования рефакторинга, то смело пересылайте им эту статью.
#business #code
Medium
Business needs good code.
Почему бизнесу нужен хороший код.
Outdated comment
Устаревший комментарий. Комментарий, содержимое которого потеряло актуальность, считается устаревшим. Комментарии стареют довольно быстро. Обнаружив устаревший комментарий, обновите его или избавьтесь от него как можно скорее. Устаревшие комментарии часто «отрываються» от кода, который они когда-то описывали. Так в вашем коде появляются плавучие островки недостоверности и бесполезности.
#comments
Устаревший комментарий. Комментарий, содержимое которого потеряло актуальность, считается устаревшим. Комментарии стареют довольно быстро. Обнаружив устаревший комментарий, обновите его или избавьтесь от него как можно скорее. Устаревшие комментарии часто «отрываються» от кода, который они когда-то описывали. Так в вашем коде появляются плавучие островки недостоверности и бесполезности.
#comments
The Cost of Premature Abstraction
Вы разочарованы преждевременной абстракцией? Хотите узнать, как этого избежать? В этой статье мы рассмотрим, что такое преждевременная абстракция, как ее распознать и избежать, прежде чем она вызовет проблемы в вашем коде.
Для тех, кто не знаком с преждевременной абстракцией, этот термин означает то, что вы добавляете абстракцию в ваш код до того, как это необходимо.
#programming #abstraction
Вы разочарованы преждевременной абстракцией? Хотите узнать, как этого избежать? В этой статье мы рассмотрим, что такое преждевременная абстракция, как ее распознать и избежать, прежде чем она вызовет проблемы в вашем коде.
Для тех, кто не знаком с преждевременной абстракцией, этот термин означает то, что вы добавляете абстракцию в ваш код до того, как это необходимо.
#programming #abstraction
Medium
The Cost of Premature Abstraction
Цена преждевременной абстракции.
Critical soft skills for software developers.
Гуманитарные навыки так-же важны, если не более важны, чем технические навыки.
Поскольку формальное образование не научит вас этим многим навыкам, поэтому были сформированы заметки о том, что делают успешные разработчики программного обеспечения.
#programming #work
Гуманитарные навыки так-же важны, если не более важны, чем технические навыки.
Поскольку формальное образование не научит вас этим многим навыкам, поэтому были сформированы заметки о том, что делают успешные разработчики программного обеспечения.
#programming #work
Medium
Critical soft skills for software developers.
Критические навыки общения для разработчиков.
How Debugging Can Make You a Better Developer.
Статья об отношении к ошибкам, их поиску и исправлению. Отладка - процесс присущий решению любых задач. Поможет как начинающим, так и "бывалым" программистам.
#debugging #team
Статья об отношении к ошибкам, их поиску и исправлению. Отладка - процесс присущий решению любых задач. Поможет как начинающим, так и "бывалым" программистам.
#debugging #team
Medium
How Debugging Can Make You a Better Developer.
Внутри каждой большой программы есть маленькая программа, которая пытается выбраться.
Goodbye, Objeсt Oriented Programming
Объектно-ориентированное программирование - основа основ для любого программиста. Статья о трёх столпах и как легко они рушатся.
#oop #functional
Объектно-ориентированное программирование - основа основ для любого программиста. Статья о трёх столпах и как легко они рушатся.
#oop #functional
Medium
Goodbye, Object Oriented Programming
Прощай, объектно-ориентированное программирование
Save Time by Doing Time the Right Way With Domain-Driven APIs.
Коммуникационные сбои происходят все время, и разработка программного обеспечения ничем не отличается от любой другой области, которая включает в себя работу двух или более людей. В этой статье рассматривается один из самых крайних примеров — Дата и то, как дизайн решает ее раз и навсегда.
#programming #domain_driving_design
Коммуникационные сбои происходят все время, и разработка программного обеспечения ничем не отличается от любой другой области, которая включает в себя работу двух или более людей. В этой статье рассматривается один из самых крайних примеров — Дата и то, как дизайн решает ее раз и навсегда.
#programming #domain_driving_design
Medium
Save Time by Doing Time the Right Way With Domain-Driven APIs.
Коммуникационные сбои происходят все время, и разработка программного обеспечения ничем не отличается от любой другой области, которая…