Статический анализ кода PHP — держите свой код под контролем
Сколько раз вы замечали код, который, казалось, был написан наспех? Думаю, много. Иногда он написан кем-то другим, но довольно часто ваши собственные творения, по прошествии достаточного времени, заставляют вас задуматься: «Кто, черт возьми, написал эту чушь?» Поддерживать чистоту кода нелегко, поэтому я решил представить вам несколько инструментов, которые смогут вам в этом помочь. Пришло время освежить свои знания по статическому анализу кода в PHP.
#ссылка
Сколько раз вы замечали код, который, казалось, был написан наспех? Думаю, много. Иногда он написан кем-то другим, но довольно часто ваши собственные творения, по прошествии достаточного времени, заставляют вас задуматься: «Кто, черт возьми, написал эту чушь?» Поддерживать чистоту кода нелегко, поэтому я решил представить вам несколько инструментов, которые смогут вам в этом помочь. Пришло время освежить свои знания по статическому анализу кода в PHP.
#ссылка
Чему я научился, прочитав «Software Engineering at Google»
Когда я впервые начал изучать Software Engineering at Google, я подумал, что это еще одна из тех дурацких книг, полных уроков, которые не имеют смысла в человеческом масштабе. Я был удивлен, что уроки применимы к командам размером всего 5 человек. Эта статья — резюме книги. Так сказать, уроки, которые остались в памяти через несколько недель после прочтения.
#ссылка
Когда я впервые начал изучать Software Engineering at Google, я подумал, что это еще одна из тех дурацких книг, полных уроков, которые не имеют смысла в человеческом масштабе. Я был удивлен, что уроки применимы к командам размером всего 5 человек. Эта статья — резюме книги. Так сказать, уроки, которые остались в памяти через несколько недель после прочтения.
#ссылка
Программирование JavaFX: использование SceneBuilder
Поговорим о средстве упрощения и ускорения разработки интерфейсов — SceneBuilder.
#ссылка
Поговорим о средстве упрощения и ускорения разработки интерфейсов — SceneBuilder.
#ссылка
Диспетчеризация методов iOS
Каждый iOS-разрабочик, иногда сам того не осознавая, сталкивается с диспетчеризацией методов. Знания принципов работы диспетчеризации методов необходимы при написании кода, поскольку эти знания позволят повысить производительность приложения, а также не допустить ошибки, связанные с неочевидным поведением в Swift. В данной статье будут рассмотрены понятие диспетчеризации, их типы, преимущества и недостатки, а также приведены небольшие задачи для укрепления знаний.
#ссылка
Каждый iOS-разрабочик, иногда сам того не осознавая, сталкивается с диспетчеризацией методов. Знания принципов работы диспетчеризации методов необходимы при написании кода, поскольку эти знания позволят повысить производительность приложения, а также не допустить ошибки, связанные с неочевидным поведением в Swift. В данной статье будут рассмотрены понятие диспетчеризации, их типы, преимущества и недостатки, а также приведены небольшие задачи для укрепления знаний.
#ссылка
Кодогенерация в C#
В данной статье хочется показать подробный пример решения задачи с использованием кодогенерации, а так же победа над некоторыми трудностями встреченными в процессе разработки.
#ссылка
В данной статье хочется показать подробный пример решения задачи с использованием кодогенерации, а так же победа над некоторыми трудностями встреченными в процессе разработки.
#ссылка
Как организовать код в Python-проекте, чтобы потом не пожалеть
Python отличается от таких языков программирования, как C# или Java, заставляющих программиста давать классам имена, соответствующие именам файлов, в которых находится код этих классов.
Python — это самый гибкий язык программирования из тех, с которыми мне приходилось сталкиваться. А когда имеешь дело с чем-то «слишком гибким» — возрастает вероятность принятия неправильных решений.
#ссылка
Python отличается от таких языков программирования, как C# или Java, заставляющих программиста давать классам имена, соответствующие именам файлов, в которых находится код этих классов.
Python — это самый гибкий язык программирования из тех, с которыми мне приходилось сталкиваться. А когда имеешь дело с чем-то «слишком гибким» — возрастает вероятность принятия неправильных решений.
#ссылка
К микросервисам через reverse engineering и кодогенерацию
В статье я расскажу, как мы используя reverse engineering и немного кодогенерации, реализовали первые шаги по выделению отдельных микросервисов и запустили первый «почти настоящий» BFF-сервис в рамках нашего монолита.
#ссылка
В статье я расскажу, как мы используя reverse engineering и немного кодогенерации, реализовали первые шаги по выделению отдельных микросервисов и запустили первый «почти настоящий» BFF-сервис в рамках нашего монолита.
#ссылка
45 Атрибутов Хорошего С-кода
Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).
#ссылка
Это не академические атрибуты из учебников. Это скорее правила буравчика оформления сорцов из реального prod(а). Некоторые приемы совпали с MISRA, некоторые с CERT-C. А кое-что является результатом множества итераций инспекций программ и перестроек после реальных инцидентов. В общем тут представлен обогащенный концентрат полезных практик программирования на С(ях).
#ссылка
Управление сторонними зависимостями в коде
В статье описаны несколько простых шагов, которые помогут управлять зависимостями более осознанно, чтобы минимизировать риски, связанные с использованием чужого кода.
#ссылка
В статье описаны несколько простых шагов, которые помогут управлять зависимостями более осознанно, чтобы минимизировать риски, связанные с использованием чужого кода.
#ссылка
Как REST выродился в собственную противоположность
Меня все сильнее раздражает, сколько людей готовы записывать в REST API любой интерфейс на основе HTTP. Сегодня приведу в качестве примера SocialSite REST API. Это же вызовы удаленных процедур (RPC). Он просто выкрикивает RPC. Связность между элементами на экране настолько сильная, что это творение заслуживает рейтинга X.
#ссылка
Меня все сильнее раздражает, сколько людей готовы записывать в REST API любой интерфейс на основе HTTP. Сегодня приведу в качестве примера SocialSite REST API. Это же вызовы удаленных процедур (RPC). Он просто выкрикивает RPC. Связность между элементами на экране настолько сильная, что это творение заслуживает рейтинга X.
#ссылка
Пять навыков Java, которые точно проверят на собеседовании в 2022 году
Директор центра подбора IT-специалистов SymbioWay Даниил Пилипенко рассказал, какие умения должен показать джуниор Java-разработчик, чтобы успешно пройти собеседование.
#ссылка
Директор центра подбора IT-специалистов SymbioWay Даниил Пилипенко рассказал, какие умения должен показать джуниор Java-разработчик, чтобы успешно пройти собеседование.
#ссылка
💡 Surge
Простая веб-публикация с одной командой. Публикуйте HTML, CSS и JS, не выходя из командной строки. Удобная тула для фронтендеров
#ссылка
Простая веб-публикация с одной командой. Публикуйте HTML, CSS и JS, не выходя из командной строки. Удобная тула для фронтендеров
#ссылка
Концепция умного указателя static_ptr<T> в C++
В этой статье мы рассмотрим новый вид умного указателя, который можно назвать staticptr. Больше всего он похож на std::uniqueptr без динамической аллокации памяти.
#ссылка
В этой статье мы рассмотрим новый вид умного указателя, который можно назвать staticptr. Больше всего он похож на std::uniqueptr без динамической аллокации памяти.
#ссылка
Создание инициализатора Flutter-проектов
Pet-проект или самописный инструмент помогают решить проблемы, которые возникают в разработке. На примере инициализатора Flutter-проектов рассказываем, как следует подходить к разработке собственной «тулзы» правильно: с SOLID и чистой архитектурой.
#ссылка
Pet-проект или самописный инструмент помогают решить проблемы, которые возникают в разработке. На примере инициализатора Flutter-проектов рассказываем, как следует подходить к разработке собственной «тулзы» правильно: с SOLID и чистой архитектурой.
#ссылка
Конкурентность в Go: пять примеров
Традиционно считается, что главная фича Go – это «многопоточность из коробки». Этому посвящено немало статей, авторы которых показывают, какие есть примитивы конкурентности в рамках языка. В процессе изучения этих статей я понял, что на начальном этапе изучения языка мне тяжело начать применять конкурентный код не имея каких-то простых наглядных примеров.
#ссылка
Традиционно считается, что главная фича Go – это «многопоточность из коробки». Этому посвящено немало статей, авторы которых показывают, какие есть примитивы конкурентности в рамках языка. В процессе изучения этих статей я понял, что на начальном этапе изучения языка мне тяжело начать применять конкурентный код не имея каких-то простых наглядных примеров.
#ссылка
Через Git и бэк — в фулстек
Каким должен быть хороший фронтендер и можно ли влиться в эту область после перерыва.
#ссылка
Каким должен быть хороший фронтендер и можно ли влиться в эту область после перерыва.
#ссылка
Spring Test Containers как бины
TestContainers это отличный инструмент, позволяющий тестировать свой код в prod-like окружении.
#ссылка
TestContainers это отличный инструмент, позволяющий тестировать свой код в prod-like окружении.
#ссылка