TGTGInsightаналитика telegramLIVE / telegram public index
← The channel has no name!
The channel has no name! avatar

TGINSIGHT POST

Post #107

@codev0s

The channel has no name!

Просмотры163Количество просмотров
Опубликован29 сент.29.09.2023, 10:13
Содержимое поста

Содержимое

⭐️ Тут сведены идеи применения AI, точнее LLMок в разработке программного обеспечения. Что они делают хорошо 🟢, что удовлетворительно 🟧, а что вообще плохо 🛑 🟢 Анализ больших объемов данных, которые человеку сложно внимательно обработать ∙ логов и стектрейсов ∙ memory dumps ∙ dependency trees ∙ git blame 🟢 Портирование: ∙ с одной версии фреймворка или библиотеки на другую ∙ с одного языка на другой ∙ с одной СУБД на другую ∙ с одной OS на другую или поддержка нескольких 🟢 Боты и тулинг для автоматизации обработки кодовой базы и репозиториев: ∙ применение стиля ∙ применение чеклиста изменений ∙ поиск уязвимостей в кодовой базе ∙ маркировка commits, pull requests, issues ∙ расстановка тегов по коммитам и т.д. ∙ автоматизация закрытия тасков, майлстоунов ∙ поиск дубликатов кода, тасков, или перелинковка связанных ∙ аудит объемов работы, качества, сбор статистики ∙ предложения для рефакторинга ∙ поддержание консистентности кодовой базы и стиля ∙ создание спеки стиля кода по примерам кода или кодовой базе проекта ∙ предложение метрик для оценки кода и вычисление этих метрик 🟢 Написание текстов: ∙ подготовка CHANGELOG, HOW TO, Q&A ∙ генерация документации по коду ∙ реверс-инжиниринг кода в ТЗ ∙ поиск отличий между ТЗ, кодом, доками ∙ преобразование между форматами данных, например json, csv, pdf, sql, txt 🟢 Управление проектами ∙ оценка трудоемкости разработки, времени и денег ∙ оценка возможности распараллеливания разработки ∙ поиск слабых мест и выявление проблем в сметах, планах, ТЗ ∙ предложения по оптимизации бизнес-процессов ∙ сбор данных для подготовки принятия решений 🟢 Программирование ∙ алгоритмические задачи, подбор и реализация алгоритмов ∙ портирование, перевод и транспиляция между языками программирования ∙ преобразование между class и prototype в JavaScript ∙ оптимизация по заданному критерию: cpu, ram, i/o, lines, читаемость, сложность, etc. ∙ объяснение кода ∙ генерация примеров использования библиотек или абстракций ∙ ревью пул реквестов ∙ генерация юниттестов, системных тестов ∙ генерация конфигураций ∙ настройка CI/CD ∙ генерация SQL запросов ∙ генерация API, CRUD, формочек ∙ генерация моделей, структур, DTO, схем данных, классов, jsdoc ∙ преобразование моделей между разными синтаксисами ∙ синхронизаций структуры базы данных, схем, моделей, форочек ∙ генерация тайпингов и заголовочных файлов как .h, .d.ts ∙ подготовка контрактов и описание интерфейсов для интеграции систем ∙ генерация парсеров, конвертеров, по примерам входных и выходных форматов данных ∙ генерация валидаторов данных и валидаторов контрактов 🟧 Задачи, которые LLMки делают, но не всегда качественно и с проблемами ∙ терпимо конвертирует код между парадигмами: ООП, процедурное и структурное программирование ∙ гораздо хуже конвертирует между ООП и ФП ∙ асинхронное программирование и задачи с доступом к состоянию из разных мест ∙ олимпиадное программирование ∙ подготовка шаблонов и примеров приложений/проектов ∙ выбор зависимостей ∙ выбор СУБД, языков программирования, платформ, тулинга ∙ концептуальный код, демонстрирующий идею и делающий ее понятнее для многих 🛑 Что плохо решается при помощи LLMок ∙ системное программирование ∙ платформенный код, код библиотек, фреймворков ∙ новые и прорывные технологические решения, которые негде подсмотреть ∙ большинство новых нетипичных задач, когда в интернете мало примеров кода ∙ архитектура систем и структура приложений, даже при наличии множества примеров