Принципы разработки, от которых нам пришлось отказаться - Искусственный Интеллект/Нейросети/AI/ИИ
Все нейросети в одном месте qiper.ru - Искусственный Интеллект/Нейросети/AI/ИИ 00:00:00 Переосмысление принципов разработки Автор признаёт, что его уверенность в себе подорвана, и многие предположения оказались несостоятельными Концепция разработки требует полного переосмысления Главный фактор изменений — увеличение объёма кода: количество коммитов на GitHub выросло в 15 раз за последний год 00:00:59 Влияние роботов на разработку Роботы становятся основными авторами коммитов, что приводит к лавине кода Объём кода определяет новые принципы разработки 00:01:59 Читаемость кода и комментарии Раньше код должен был быть читабельным для людей, но теперь комментарии мешают роботам В эпоху ИИ комментарии могут сбивать с толку, так как роботы понимают код без них Важно, чтобы код был минимальным и точным 00:02:58 Примеры отказа от комментариев В проектах автора запрещены комментарии в скриптах сборки, Haskell и JavaScript В Java обсуждается полный запрет комментариев 00:03:27 Возрождение старых проектов Старые проекты можно легко возродить, используя современные инструменты Пример восстановления проекта на Java: за неделю исправлены 400 ошибок и восстановлена база кода 00:05:48 Роль архитекторов в современных проектах Архитекторы должны мониторить дефекты и запросы на извлечение Ручная проверка запросов замедляет проект и снижает его качество Агенты автоматически проверяют и принимают изменения 00:07:57 Автоматизация проверки изменений Агенты проверяют сообщения об ошибках и запросы на извлечение, автоматически объединяя их Человеческое внимание отвлекается, поэтому важно настраивать агентов для принятия решений Рецензенты больше не нужны для большинства изменений, их роль снижается 00:09:45 Вежливость в открытом исходном коде В токсичной среде открытого исходного кода важно уважать коллег Вежливое взаимодействие помогает избежать обид Программисты — ценные активы, которые могут вернуться с новыми изменениями 00:10:40 Работа с роботами Запросы на получение информации часто создаются роботами, а не людьми Строгий подход к запросам позволяет отклонять их без учёта эмоций авторов Автоматическое отбраковывание запросов помогает повысить качество кода 00:11:37 Автоматизация проверок Ранее команды считали короткие запросы на удаление оптимальными Теперь GitHub автоматически проверяет запросы и отклоняет те, что содержат более 200 строк кода Автоматические флаги предотвращают споры и повышают качество контроля 00:13:43 Визуальная проверка изменений Изменения в тестах должны быть визуально понятными для людей Кодовая база должна быть спроектирована так, чтобы изменения были легко воспринимаемы Пример с анализатором исходного кода показывает, как можно упростить проверку изменений 00:17:39 Влияние изменений на репозиторий Каждый запрос на извлечение должен указывать на влияние на репозиторий Необходимо настраивать код для возврата индикатора воздействия IMCT Мониторинг воздействия изменений позволяет лучше понимать состояние проекта 00:18:39 Настройка инструментов мониторинга Время следует тратить на настройку инструментов мониторинга воздействия, а не на ручную проверку запросов Понимание влияния изменений помогает принимать обоснованные решения Логика Роберта Мартина позволяет эффективно использовать ресурсы без чтения исходного кода 00:19:13 Проблемы непрерывной интеграции Непрерывная интеграция предполагает регулярную сборку проекта, но это не всегда работает эффективно Ошибки могут быть обнаружены слишком поздно, что приводит к остановке разработки Команда вынуждена исправлять ошибки, созданные одним программистом 00:20:11 Идея предполетной сборки Для эффективной работы непрерывной интеграции необходимо запускать полную сборку при каждом изменении в главной ветви Робот-сборщик может автоматически подключать ветвь к главной и запускать сборку Предполетная сборка — это отличная идея, которая ранее работала 00:21:10 Ограничения GitHub Actions GitHub Actions не позволяют запускать множество процессов одновременно, что приводит к нехватке ресурсов Каждый запрос на извлечение требует времени для сборки, что создаёт проблемы при большом количестве запросов Внутренняя непрерывная интеграция GitHub делает предыдущие запросы недействительными после обновления главной ветви 00:22:08 Недостижимость стабильности Стабильность главной ветви недостижима в реальных условиях из-за огромного объёма данных Необходимо настроить агентов для обнаружения сломанной главной ветви и немедленного исправления дефектов Новая реальность — это почти постоянно ломающаяся главная ветвь 00:24:03 Новая парадигма Современная идея — это скорость, а не стабильность Важно обеспечить максимальную скорость выполнения сборок и доставки мастер-кода Стабильность остаётся в прошлом, теперь акцент на скорости
Название:
Принципы разработки, от которых нам пришлось отказаться - Искусственный Интеллект/Нейросети/AI/ИИ
Категория:
Технологии и интернет