ドキュメンテーション

Python におけるソフトウェアエンジニアリングの原則

Adam Spannbauer

Machine Learning Engineer at Eastman

Python のドキュメンテーション

  • コメント
# Square the number x
  • docstring
    """Square the number x

    :param x: number to square
    :return: x squared

    >>> square(2)
    4
    """
Python におけるソフトウェアエンジニアリングの原則

コメント

# This is a valid comment
x = 2
y = 3  # This is also a valid comment
# You can't see me unless you look at the source code

# Hi future collaborators!!
Python におけるソフトウェアエンジニアリングの原則

効果的なコメント

「何をしているか」をコメントする

# Define people as 5
people = 5

# Multiply people by 3
people * 3

「なぜそうしているか」をコメントする

# There will be 5 people attending the party
people = 5

# We need 3 pieces of pizza per person
people * 3
Python におけるソフトウェアエンジニアリングの原則

docstring

def function(x):
    """High level description of function

    Additional details on function
Python におけるソフトウェアエンジニアリングの原則

docstring

def function(x):
    """High level description of function

    Additional details on function

    :param x: description of parameter x
    :return: description of return value

Flask パッケージの docstring から生成されたサンプル Web ページ

Python におけるソフトウェアエンジニアリングの原則

docstring

def function(x):
    """High level description of function

    Additional details on function

    :param x: description of parameter x
    :return: description of return value

    >>> # Example function usage
    Expected output of example function usage
    """
    # function code
Python におけるソフトウェアエンジニアリングの原則

docstringの例

def square(x):
    """Square the number x

    :param x: number to square
    :return: x squared

    >>> square(2)
    4
    """
    # `x * x` is faster than `x ** 2`
    # reference: https://stackoverflow.com/a/29055266/5731525
    return x * x
Python におけるソフトウェアエンジニアリングの原則

docstringの出力例

help(square)
square(x)
    Square the number x

    :param x: number to square
    :return: x squared

    >>> square(2)
    4
Python におけるソフトウェアエンジニアリングの原則

練習しましょう

Python におけるソフトウェアエンジニアリングの原則

Preparing Video For Download...