Стиль программирования
Оформление кода
pep-0008 — рекомендации к оформлению кода.
Хороший, годный перевод: https://pep8.ru/doc/pep8/
Жёсткость pep-0008
Анализаторы кода:
Основанные на pep-0008: pycodestyle
Ещё один: pylint
Вообще статическая типизация: MyPy
“A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines. With consistency a great soul has simply nothing to do. He may as well concern himself with his shadow on the wall. Speak what you think now in hard words, and to-morrow speak what to-morrow thinks in hard words again, though it contradict every thing you said to-day. — 'Ah, so you shall be sure to be misunderstood.' — Is it so bad, then, to be misunderstood? Pythagoras was misunderstood, and Socrates, and Jesus, and Luther, and Copernicus, and Galileo, and Newton, and every pure and wise spirit that ever took flesh. To be great is to be misunderstood.”
Из личных наблюдений:
- Неряшливость
Программирование копипастой (^C^V-style)
- Лапша (spaghetti code)
- Шланг (overfunctional code)
- Не читатель (python underusage)
- Магические числа
- Ошибки проектирования
- Программирование в столбик
- Переупрощение (пасказлизация)
- Переусложнение (лиспизация и т. п.)
Комментарии
- Не «что» и «как», а «зачем» и «почему»
- Комментарии vs. код на Python (это не Си же)
- Комментарии vs. строки документации
Выковыривание комментариев с помощью inspect.getcomments()
Аннотирование
https://docs.python.org/3/whatsnew/3.6.html#whatsnew36-pep526
Д/З
Зарегистрировать свой совместный проект
- Создать публичный репозиторий
Повесить issue с названием проекта сюда
Переработать имеющийся код проекта в соответствие с pylint или flake8
- создать настроечный файл, в котором изменить умолчания, если они не соответствуют дисциплине разработки