В мире программирования существует множество идеологий написания кода: Unix-way отвечает за коммуникацию, Agile — за гибкость, DRY и KISS — за чистоту и читаемость. Все они улучшают качество кода, но их слабое место — ориентация на индивидуальную работу. Именно поэтому появился новый, социальный подход к программированию.
SOSAL — это современная идеология, основанная на предположении, что над проектом работает команда самых разных людей. Этот подход помогает сделать процесс разработки максимально удобным и продуктивным для всех участников.
SOSAL строится на пяти принципах:
1. Socially-Conscious Code (Социально-осознанный код)
Главная ценность командной работы — кооперация. Чтобы кодовая база была дружелюбной, важно не только знать язык программирования, но и придерживаться его стиля, писать чисто и использовать идиоматичные решения. Это облегчает вхождение новых участников в проект и ускоряет совместную работу.
2. Open by Default (Открытость по умолчанию)
Код должен быть открыт, если нет веских причин для обратного. Комментируйте так, будто ваш код читает новичок. Если решение не очевидно или требует времени на понимание, обязательно оставьте комментарий.
3. Simple Scalability (Сбалансированная масштабируемость)
Пишите код, который легко масштабировать, но избегайте преждевременных оптимизаций. Простота не означает примитивность, а сложность — не признак качества.
«Преждевременная оптимизация — корень всех зол.»
4. Agile Adaptivity (Адаптивность выше догм)
Код должен быть готов к изменениям, даже если они кажутся маловероятными. Используйте гибкие решения, например, готовые библиотеки для конфигурации, чтобы облегчить будущие доработки. Балансируйте между принципом YAGNI и возможностью эволюции кода.
5. Learning-Driven Logic (Логика, основанная на обучении)
Пишите код так, чтобы он учил вас и других. Рефакторинг — это не наказание, а возможность применить новые знания. Экспериментируйте, но всегда оставляйте после себя чистый и понятный код.
Будете ли вы использовать подход в своих проектах?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁24👍8😢2
💬 Вопрос от подписчика: как сохранить PHP-код чистым и поддерживаемым?
👇 Делитесь своим опытом — что реально помогает вам не утонуть в хаосе?
🚀 Используете ли вы стандарты, линтеры, слои, DDD, maybe Laravel-пакеты или IDE-фишки?
Обсудим в комментариях!
Библиотека пхпшника #междусобойчик
«Чем больше растёт мой PHP-проект, тем сложнее за ним следить. Маленькие фиксы превращаются в грязные заплатки, а кодовая база становится всё менее управляемой.
Как вы поддерживаете чистоту и читаемость кода в долгосрочной перспективе? Есть ли какие-то советы по структуре, неймингу или полезные инструменты для поддерживаемости?»
👇 Делитесь своим опытом — что реально помогает вам не утонуть в хаосе?
🚀 Используете ли вы стандарты, линтеры, слои, DDD, maybe Laravel-пакеты или IDE-фишки?
Обсудим в комментариях!
Библиотека пхпшника #междусобойчик
👍2🤔2❤1
🐞 Холивар: var_dump vs. xdebug vs. логирование
Каждый разработчик сталкивался с вопросом: как лучше всего дебажить код? Вариантов несколько — но какой подход реально работает?
🔍 var_dump — Когда хочется быстрого ответа
Самый быстрый способ отследить значения переменных. Просто пихаем
Плюсы:
Простой, быстрый и не требует дополнительных настроек.
Отлично работает для небольших участков кода.
Минусы:
Запутает вывод, если переменных много.
Не даёт достаточной информации для глубокого анализа, не всегда удобен для сложных структур.
🧩 xdebug — Когда хочется всего и сразу
Плагин для отладки с множеством функций: стэк-трейсы, брейкпоинты, профилирование, и даже код-coverage.
Плюсы:
Полноценная отладка с возможностью пошагового выполнения.
Логирование запросов и удобный просмотр значений переменных.
Минусы:
Может замедлять выполнение кода (особенно на production).
Требует конфигурации и настройки среды.
📝 Логирование — Когда нужно запомнить всё
Для серьёзных проектов — это must-have. Логи помогут отслеживать ошибки, операции и диагностировать проблемы в проде.
Плюсы:
Логи могут быть структурированы, что удобно для поиска и анализа.
В реальном времени можно отслеживать важные события.
Минусы:
Может быть сложнее настроить по сравнению с
Для полноценного логирования нужно грамотно настроить уровни логирования и фильтрацию.
💬 Какой метод предпочитаете вы?
Пишите в комментариях, как вы дебажите свой код: через
Библиотека пхпшника #междусобойчик
Каждый разработчик сталкивался с вопросом: как лучше всего дебажить код? Вариантов несколько — но какой подход реально работает?
🔍 var_dump — Когда хочется быстрого ответа
Самый быстрый способ отследить значения переменных. Просто пихаем
var_dump() в код, и вот вам вся информация.Плюсы:
Простой, быстрый и не требует дополнительных настроек.
Отлично работает для небольших участков кода.
Минусы:
Запутает вывод, если переменных много.
Не даёт достаточной информации для глубокого анализа, не всегда удобен для сложных структур.
🧩 xdebug — Когда хочется всего и сразу
Плагин для отладки с множеством функций: стэк-трейсы, брейкпоинты, профилирование, и даже код-coverage.
Плюсы:
Полноценная отладка с возможностью пошагового выполнения.
Логирование запросов и удобный просмотр значений переменных.
Минусы:
Может замедлять выполнение кода (особенно на production).
Требует конфигурации и настройки среды.
📝 Логирование — Когда нужно запомнить всё
Для серьёзных проектов — это must-have. Логи помогут отслеживать ошибки, операции и диагностировать проблемы в проде.
Плюсы:
Логи могут быть структурированы, что удобно для поиска и анализа.
В реальном времени можно отслеживать важные события.
Минусы:
Может быть сложнее настроить по сравнению с
var_dump().Для полноценного логирования нужно грамотно настроить уровни логирования и фильтрацию.
💬 Какой метод предпочитаете вы?
Пишите в комментариях, как вы дебажите свой код: через
var_dump(), полную отладку с xdebug, или используете логирование? Или может, у вас есть свой секретный способ?Библиотека пхпшника #междусобойчик
🧩 Ваш базовый стек для старта PHP-проекта
Когда стартуешь новый проект, нет времени выбирать идеальные инструменты — хочется просто взять знакомое и начать пилить фичи. У каждого разработчика со временем формируется свой «боевой» набор.
У меня сейчас примерно так:
Не идеальный набор, но позволяет быстро развернуть окружение и приступить к делу. Всё остальное — по мере надобности.
❓ А у вас как? Что летит в бой первым?
👇 Делитесь своими «must-have» в комментариях!
Библиотека пхпшника #междусобойчик
Когда стартуешь новый проект, нет времени выбирать идеальные инструменты — хочется просто взять знакомое и начать пилить фичи. У каждого разработчика со временем формируется свой «боевой» набор.
У меня сейчас примерно так:
– Laravel– Laravel Breeze (или Sanctum, если нужен API)– Filament для админки– Spatie-пакеты: roles, media, permissions– Docker с Sail или кастомной сборкой– Tailwind, если есть фронт
Не идеальный набор, но позволяет быстро развернуть окружение и приступить к делу. Всё остальное — по мере надобности.
❓ А у вас как? Что летит в бой первым?
👇 Делитесь своими «must-have» в комментариях!
Библиотека пхпшника #междусобойчик
❤1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
Вайб-кодинг — это когда человек не пишет код вообще. Все задачи выполняет ИИ, будь то написание, исправление или чтение кода. Человек может не быть программистом или просто не иметь желания работать с кодом. Важно, что он лишь задаёт «вайб» задачи, а ИИ её решает.
Если вы работаете с инструментом вроде Cursor, используя его функции для создания кода и проверки его результата, то это не вайб-кодинг, а разработка с ИИ-инструментами (AI-assisted coding). Здесь вы, как разработчик, активно взаимодействуете с ИИ, но не теряете контроль над процессом.
А вот когда человек Lovable/v0/Bolt для создания сайта или автоматизации без заглядывания в код — это уже вайб-кодинг. И это прекрасно, потому что даёт возможность создавать решения без необходимости учить программирование. И с каждым годом таких людей будет становиться больше.
Отличаются и подходы. Когда разработчики работают с ИИ, они ставят задачи более детально и структурировано, например, указывают конкретные модули или шаги реализации. Вайб-кодеры, напротив, ставят задачи через описание желаемого функционала.
И главная проблема вайб-кодеров — это технический долг. Накопившиеся ошибки, дублированные функции и разные реализации могут привести к тому, что ИИ перестанет справляться с задачами.
Могли ли вы пару лет назад представить, что такое количество рутины в работе будет автоматизировано?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3😢1🥱1
Если вы часто устаете, меняете позу и вам болит спина — эти три секрета для вас:
1. Кресло наше всё
Первым делом нужно сменить кресло. Не офисное, не широкое — берём кресло с анатомической поддержкой, поддержкой головы и поясницы.
2. Power nap — короткий дневной сон
Говорят, Леонардо да Винчи тоже так делал: спал по 20 минут каждые четыре часа, чтобы быстро восстанавливаться. Научитесь засыпать за секунды: включаю фоновую музыку, режим «не беспокоить» на 15-20 минут, откидываете кресло — и спите.
3. Не пропускаем важное
После пробуждения первым делом проверяем уведомления — это помогает не упустить важное. Смотрим чаты задач, потом уже личные.
Такой 15–20 минут сна даёт заряд бодрости работать максимально продуктивно, не отвлекаясь.
А что помогает быть продуктивным вам?
Библиотека пхпшника #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Не все аспекты программирования идут на пользу при реальной работе. Часто избыточные знания только мешают трезво оценить и написать фичу.
Вот что думает наш подписчик, пишущий на стеке PHP/Go:
Когда я начинал, мне рассказали, что многозадачность — это ключ к быстродействующим приложениям, и я потратил кучу времени, изучая все тонкости асинхронности. В итоге понял, что в реальных проектах асинхронность скорее игрушка, чем нужный инструмент.
💬 Есть ли у вас знания, которые так и не пригодились в работе? Делитесь в комментариях 👇
P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.
Please open Telegram to view this post
VIEW IN TELEGRAM
Настояться — идеальная стратегия, как минимум в половине случаев решение вообще не нужно принимать, т. к. проблема решается сама собой.
🤔 Или нет?
🐸 Библиотека пхпшника #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🧑💻 Что за ужас тут творится
Когда вы приходите в новый коллектив, легко заподозрить, что всё вокруг катится кувырком. Но возможно, вы ещё не разобрались во внутренних механизмах.
К нам пришёл подписчик с вопросом
На практике важно учитывать сразу несколько аспектов, чтобы не спешить с выводами:
— Обратите внимание на то, как принимаются решения: формально через руководителей или неформально «по знакомству».
— Оцените, насколько корректно используется трекинг задач и документация — это показатель зрелости команды.
— Внимательно слушайте, какие вопросы задают другие: открыты ли коллеги к диалогу или предпочитают «молча работать».
— Спросите про KPI и цели: ясны ли вам критерии успеха и пути их достижения?
Помните, никто не идеален: везде есть проблемы, просто о них не все говорят.
💬 С какими «тревожными звоночками» вы сталкивались в новых командах? Поделитесь в комментариях 👇
P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.
🐸 Библиотека пхпшника #междусобойчик
Когда вы приходите в новый коллектив, легко заподозрить, что всё вокруг катится кувырком. Но возможно, вы ещё не разобрались во внутренних механизмах.
К нам пришёл подписчик с вопросом
Как отличить реальные проблемы в компании от простого непонимания процессов и культуры?
На практике важно учитывать сразу несколько аспектов, чтобы не спешить с выводами:
— Обратите внимание на то, как принимаются решения: формально через руководителей или неформально «по знакомству».
— Оцените, насколько корректно используется трекинг задач и документация — это показатель зрелости команды.
— Внимательно слушайте, какие вопросы задают другие: открыты ли коллеги к диалогу или предпочитают «молча работать».
— Спросите про KPI и цели: ясны ли вам критерии успеха и пути их достижения?
Помните, никто не идеален: везде есть проблемы, просто о них не все говорят.
💬 С какими «тревожными звоночками» вы сталкивались в новых командах? Поделитесь в комментариях 👇
P.S. Если хотите задать вопрос сообществу или поделиться историей, заполните нашу гугл-форму.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
💡 Чего мы ждём от обновлений
PHP активно развивается и курс этого развития зависит от сообщества. Давайте поделимся какие фичи ждём в следующем обновлении.
Например:
🐸 Библиотека пхпшника #междусобойчик
PHP активно развивается и курс этого развития зависит от сообщества. Давайте поделимся какие фичи ждём в следующем обновлении.
Например:
Асинхронность на уровне ядра: встроенная поддержка async/await упростит написание многозадачного кода.
Расширенный стандарт утилит: Больше array_*, инструменты инспекции, удобная дебага
Please open Telegram to view this post
VIEW IN TELEGRAM