2020 Практика программирования на Python, лекция №12

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

Тайм-коды: Документация проекта. Проработка интерфейсов модулей/функций. Оператор assert. Контрактное программирование
1:15 документация проекта
4:47 внутренняя документация отдельно от исходного кода
12:42 5 способов внедрения документации внутрь проекта:
13:35 0) самодокументирующийся код
25:22 1) комментарии # пишутся сверху, если не сбоку
30:22 2) документ- строки + аннотация типов
43:41 help функции с документ-строкой
44:55 PEP 257 документирование кода
45:49 PEP 258 Docutils стандартная утилита для автоматического создания отдельной документации из документ-строк
47:36 RST-разметка. Язык разметки
50:04 разметка markDown
51:05 3) assert механизм вставки проверяемых утверждений
1:02:51 assert не вычисляются в неотладочном режиме, а воспринимаются интерпретатором как комментарии (-O)
1:06:30 4) контрактное программирование. отказоустойчивое программирование
1:09:29 Бертран Мейер создатель языка Эйфель и проектирования по контракту или программирования по контракту
1:14:55 спецификация интерфейса должна быть: 1) формальная, 2) точная, 3) верифицируемая
1:24:20 библиотека PyContracts:
1:24:45 1)декоратор @contract(a='int, >0', returns='list[N]')
1:25:25 2) annotations
1:26:00 3) docstrings
1:26:45 pip install PyContracts для установки

iritaka
Автор

Пересматриваю Ваши лекции не раз и очень мне нравится ваш подход. Спасибо, что даете такую возможность.

ВиталийЛомакин-пп
Автор

Очень признателен вам, Тимофей, за ваш труд и старания! 👍

ДобродейНиколай
Автор

большое спасибо, что выкладываете! полезно знать

monsieuralexandergulbu
Автор

Тимофей, здравствуйте. Спасибо за видео. У меня отработал assert при передче параметров 2, 3 в функцию. Таймкод: 59:15.

fixzzz
Автор

Код без документации ~ код-призывник, код с документацией - контрактник

sacramentofwilderness