Документация и тестирование на практике

Принципы разработки программного обеспечения на Python

Adam Spannbauer

Machine Learning Engineer at Eastman

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

  Пример страницы Sphinx

Принципы разработки программного обеспечения на Python

Документирование классов

class Document:
    """Analyze text data

    :param text: text to analyze

    :ivar text: text originally passed to the instance on creation
    :ivar tokens: Parsed list of words from text
    :ivar word_counts: Counter containing counts of hashtags used in text
    """
    def __init__(self, text):
        ...
Принципы разработки программного обеспечения на Python

Непрерывное интеграционное тестирование

    Логотип Travis CI

Пример вывода Travis — сборка не прошла

Принципы разработки программного обеспечения на Python

Непрерывное интеграционное тестирование

  Пример вывода Travis — сборка прошла

Принципы разработки программного обеспечения на Python

Ссылки и дополнительные инструменты

  • Sphinx — генерация красивой документации
  • Travis CI — непрерывное тестирование кода
  • GitHub и GitLab — хостинг проектов с git
  • Codecov — поиск слабых мест в тестах проекта
  • Code Climate — анализ кода для улучшения читаемости
Принципы разработки программного обеспечения на Python

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

Принципы разработки программного обеспечения на Python

Preparing Video For Download...