AI로 코드 문서화하기

개발자를 위한 AI 보조 코딩

Francesca Donadoni

AI Curriculum Manager, DataCamp

AI 기반 docstring 생성

81.png

개발자를 위한 AI 보조 코딩

AI 기반 docstring 생성

  • 사용자 프롬프트: 이 함수에 대한 docstring을 작성해 주세요
   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"""
         [...]
    
개발자를 위한 AI 보조 코딩

AI 기반 docstring 생성

  • 사용자 프롬프트: 다음 내용을 포함하는 docstring을 생성해 주세요:

    • 함수의 기능에 대한 간단한 설명.
    • 각 매개변수와 해당 타입 설명.
    • 반환값과 해당 타입 설명.
  • 모델 응답:

다음은 함수에 사용할 수 있는 전체 docstring입니다:

def sales_trend(self):
    """
    Analyze the sales data to determine whether there is an increasing trend 
    or a decreasing/stable trend over time.
    [...]
    """
개발자를 위한 AI 보조 코딩

AI 기반 docstring 생성

다음은 함수에 사용할 수 있는 전체 docstring입니다:

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.
    [...]
    """
개발자를 위한 AI 보조 코딩

문서화 스타일 적응

82.png

개발자를 위한 AI 보조 코딩

문서화 스타일 적응

83.png

개발자를 위한 AI 보조 코딩

코드를 README로 요약하기

84.png

개발자를 위한 AI 보조 코딩

코드를 README로 요약하기

  • 사용자 프롬프트: SalesAnalyzer 클래스와 해당 메서드를 설명하는 README 파일을 Markdown 형식으로 작성해 주세요. 임의의 기간 동안 판매 추세를 분석하는 데 도움이 되는 샘플 코드 스니펫도 포함해 주세요.
  • 모델 응답:

다음은 SalesAnalyzer 클래스에 대한 README.md 초안입니다:

SalesAnalyzer

SalesAnalyzer 클래스는 일별 판매 데이터를 분석하고 판매 추세가 전반적으로 증가하는지 또는 감소/안정적인지를 간단하게 파악할 수 있는 도구입니다. 시간 경과에 따른 판매 실적을 빠르게 개략적으로 파악하고자 하는 기업이나 개인에게 유용합니다.

개발자를 위한 AI 보조 코딩

코드 diff에서 커밋 메시지 생성

85.png

개발자를 위한 AI 보조 코딩

코드 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) 
개발자를 위한 AI 보조 코딩

릴리스 노트 자동화

86.png

개발자를 위한 AI 보조 코딩

기타 활용 사례

87.png

개발자를 위한 AI 보조 코딩

연습해 봅시다!

개발자를 위한 AI 보조 코딩

Preparing Video For Download...