idec.talks: Обсуждение технологии и сети

Ответ на: V9tRZjnwgxnLEX481X0f
От: Andrew Lobanov (tavern,1) 18.07.19 08:39 UTC
Кому: Difrex
Тема: Re: Эталонная реализация idec
>> Особенно что касается стиля, так как хороший стиль чужими патчами не выработаешь =)
Difrex> Ок, по стилю :)

Difrex> Общие рекомендации:

Difrex> * Код должен быть по PEP8.


Уже переделал этот момент.

Difrex> * Хорошо бы иметь краткий докстринг в каждой функции -- это полезно, для того, чтобы

Difrex> сразу понимать, что эта функция делает, для показа доков в Емаксе и для автогенерации

Difrex> документации на код в том же Sphynx. У меня, например, настроена CI так, что ПР, где

Difrex> нет докстрингов, не принимаются.


Это у меня в TODO было давно =)

Difrex> * Никогда не импортировать * из модулей.


Да. Я уже усвоил это. Если импортировать только нужное, то получается гораздо нагляднее и безопаснее.

Difrex> * Не переопределять имена функций в переменные. Что я имею в виду:

Difrex> В файле points.py(а возможно и в других, не копал еще сильно) есть функция `hsh()',

Difrex> которая генерирует authstring. Так вот в нескольких других местах ты создаешь строковые

Difrex> переменные с таким же именем. Это может привести к неочевидным последствиям.


Этот момент я ещё не проработал, но ошибка весьма очевидна, если подумать. Спасибо =)

Difrex> * Использование python-black по желанию -- это бескомпромиссный форматировщик кода.

Difrex> Работает четко и круто.


Пока я просто прогнал все файлы через pep8 и исправил все замечания. Ну и форматирование исправил с оператора форматирование на метод форматирования. Правда пока не тестировал чего я там наделал, зато исправил пару критичных багов попутно =)

Difrex> Как облегчить себе жизнь и ваще не париться по поводу стиля:

Difrex> Ставишь из своих репов autopep8, flake8, python-black, pip.

Difrex> Настраиваешь Емакс: https://paste.lessmore.pw/hojecuqece.lisp

Difrex> Теперь всю работу по форматированию кода, а так же комплиту, прыжкам в методы, и.т.д будет делать

Difrex> за тебя GNU Emacs :)


Как раз собирался гуглить как это сделать. GNU Emacs это сила =)

Спасибо за полезные советы и рекомендации. Давно пора было мне упорядочить свой стиль и перестать разводить бардак в коде.
[464 / 464]