Документирование кода с помощью ИИ

Разработка с помощью ИИ: курс для разработчиков

Francesca Donadoni

AI Curriculum Manager, DataCamp

Генерация строк документации с помощью ИИ

81.png

Разработка с помощью ИИ: курс для разработчиков

Генерация строк документации с помощью ИИ

  • Запрос пользователя: Напишите строку документации для этой функции
   def sales_trend(self):
       ...        
       if increasing > decreasing:
           return "Increasing trend"
       else:
           return "Decreasing or stable trend"
  • Ответ модели:
     def sales_trend(self):
         """Analyze sales data to determine the overall trend"""
         [...]
    
Разработка с помощью ИИ: курс для разработчиков

Генерация строк документации с помощью ИИ

  • Запрос пользователя: Сгенерируйте строку документации для этой функции, включив:

    • Краткое описание того, что делает функция.
    • Описание каждого параметра и его типа.
    • Описание возвращаемого значения и его типа.
  • Ответ модели:

Вот полная строка документации для вашей функции:

def sales_trend(self):
    """
    Analyze the sales data to determine whether there is an increasing trend 
    or a decreasing/stable trend over time.
    [...]
    """
Разработка с помощью ИИ: курс для разработчиков

Генерация строк документации с помощью ИИ

Вот полная строка документации для вашей функции:

def sales_trend(self):
    """
    Analyze the sales data to determine whether there is an increasing trend 
    or a decreasing/stable trend over time.

    Parameters
    ----------
    self : object
        An object that contains an attribute `daily_sales` (list of int or float),
        which represents daily sales values in chronological order.
    [...]
    """
Разработка с помощью ИИ: курс для разработчиков

Адаптация к стилям документирования

82.png

Разработка с помощью ИИ: курс для разработчиков

Адаптация к стилям документирования

83.png

Разработка с помощью ИИ: курс для разработчиков

Создание README на основе кода

84.png

Разработка с помощью ИИ: курс для разработчиков

Создание README на основе кода

  • Запрос пользователя: Создайте файл README в формате Markdown, описывающий класс SalesAnalyzer и его методы. Добавьте пример кода для анализа тенденции продаж за случайный период.
  • Ответ модели:

Вот готовый черновик README.md для вашего класса SalesAnalyzer:

SalesAnalyzer

Класс SalesAnalyzer предоставляет простой способ анализа ежедневных данных о продажах и определения общей тенденции — роста или снижения/стабильности. Инструмент будет полезен компаниям и частным пользователям, которым нужен быстрый обзор динамики продаж за определённый период.

Разработка с помощью ИИ: курс для разработчиков

Сообщения коммитов по diff-файлам

85.png

Разработка с помощью ИИ: курс для разработчиков

Сообщения коммитов по diff-файлам

  • Запрос пользователя: Напишите информативное сообщение коммита для этого git diff:
(base) datacamp@test:~/datacamp/docstring-generation$ git diff
+
+        Raises:
+            ValueError: If daily_sales contains non-numeric values.
         """
-        return sum(self.daily_sales)
+        if not all(isinstance(sale, (int, float)) for sale in self.daily_sales):
+            raise ValueError("All sales figures must be numeric.")
+        return sum(sale for sale in self.daily_sales) 
Разработка с помощью ИИ: курс для разработчиков

Автоматизация примечаний к релизам

86.png

Разработка с помощью ИИ: курс для разработчиков

Другие варианты применения

87.png

Разработка с помощью ИИ: курс для разработчиков

Давайте потренируемся!

Разработка с помощью ИИ: курс для разработчиков

Preparing Video For Download...