home.social

#developer_experience — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #developer_experience, aggregated by home.social.

  1. Как писать документацию, которую разработчики будут читать

    Большинство документаций к продуктам для разработчиков — плохие. Не потому что авторы не старались, а потому что документацию писал инженер, который знает продукт насквозь, и ему «всё очевидно». А человеку, который видит продукт впервые, — ничего не очевидно.

    habr.com/ru/companies/otus/art

    #DEVREL #документация_для_разработчиков #техническая_документация #справочник_API #developer_experience

  2. Zod: строгая валидация и удобная типизация. Опыт перехода

    Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру. В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных. К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме. Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string') ? С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных.

    habr.com/ru/companies/banki/ar

    #zod #typescript #валидация_данных #runtime_валидация #react_hook_form #типизация_данных #frontend_разработка #валидация_форм #developer_experience #валидация

  3. AI без интернета (офлайн) на своем компьютере

    Зачем это обывателю? Кейсов на самом деле не мало, как минимум это бесплатно и дает возможность запускать AI без облака, чтобы ничего не отправлялось в интернет (приватность, скорость), ну и на случай если упадет интернет как например у нас было в Испании когда все электричество пропало, хорошо бы иметь умного ИИ с которым можно будет пообщаться) Еще можно использовать как офлайн переводчик или объяснялку без интернета, помощника по учебе и изучения чего либо.

    habr.com/ru/articles/981290/

    #Сезон_ИИ_в_разработке #программирование #искусственный_интеллект #ai #developer_experience #software_development #ии #ии_чатбот #ииагенты #ииассистент

  4. Чистый код — красивая архитектура. А работает ли это?

    Вы пишете код не для компилятора — он съест любую абракадабру, если синтаксис верен. Вы пишете для людей, для того парня из соседнего отдела, который будет разбирать ваш код через полгода. Для себя, когда забудете, о чём думали в момент написания. Для тимлида, у которого нет времени расшифровывать ваши «фичи», замаскированные под техдолг. Грязный код — это про непонятные переменные, запутанные модули и решения «на скорую руку». Вас ждёт после такого потеря во времени и в лучшем случае косые взгляды коллег. К сожалению, непонятный код часто пишут не только из-за спешки, но и из-за неопытности и чрезмерного энтузиазма тех, кто хочет всё переделать. Видели те горящие глаза джунов-зумеров при приеме на работу, думаю в них можно прочитать: «ваш код кривой, пустите меня в прод и сделаю все как надо..» и начинает строить собственные «идеальные» архитектуры. Так что эстетика кода — это не пунктик перфекциониста, это прагматизм, и код нужно писать так, чтобы после него следующий разработчик ставил вам свечку в мыслях. Давайте разберём, как превратить кошмар в конфетку — детали внутри.

    habr.com/ru/companies/ruvds/ar

    #программирование #код #дизайн_кода #архитектура_ПО #code_style #developer_experience #ruvds_статьи

  5. Meta Storm Plugin – еще один плагин для PHPStorm

    Логично ведь, что если ты пишешь функцию, которая должна принимать значение из набора, то нужно показать этот набор. А может еще и свалидировать ошибку. А еще и провалиться внутрь по CTRL+Click. А еще и обратный референс найти. Ну и рефакторинг общий сделать, раз уж разошлись. Ребята делающие плагины под свои технологии молодцы, но как мне сделать то же самое с моим MyClass::readFile('users.csv') ? А если нужно подсказать свойства текущей модели $model->getAttributeLabel('id') ? А если я хочу сделать подсказки в query builder? Да и вообще, зачем мне еще один плагин, PHPStorm ведь и без него справлялся годами? Узнать подробнее

    habr.com/ru/articles/868898/

    #php #intellij #plugin #intellij_platform #developer_experience #phpstorm