-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Планы по улучшению документации #44
Comments
Привет! Спасибо за интерес к проекту. Давай я немного поменяю нумерацию в твоем исходном сообщении, чтобы было проще отвечать:
Теперь поехали по порядку:
На русский это можно перевести примерно так:
Лично мне этот текст кажется достаточно подробным и объясняющим суть того, что происходит при вызове соответствующих методов. Если со стороны так не кажется, просьба конкретизировать, чего именно не хватает.
Если есть аргументы, почему я не прав - готов обсудить. Мое мнение могли бы изменить, скажем, аргументы, связанные с работой подсказок в популярных IDE. |
Да, именно из-за подсветки синтаксиса я тебе и написал. Смотри, как я понял как этим пользоваться (поправь меня, если я ошибаюсь): к созданному токену мы обращаемся либо для проверки его состояния, чтобы принять какое-то решение, либо отменяем его вручную по какому-то кейсу, в остальное же время на него вообще не нужно обращать внимания. Если же дёрнуть любой токен за точку, то в IDE (лично я пользуюсь PyCharm) на тебя вываливается список из кучи методов, с которыми совершенно не понятно что делать (в частности, потому что у них нет никакого описания внутри). К сожалению, я не смог сделать скрин, да на него бы и не влезло всё, но я не поленился и просто по точке всё выписал. Вот, что мы имеем от IDE, доступившись к токену: t = SimpleToken()
t.cached_report
t.cancel()
t.cancelled
t.check()
t.check_superpower()
t.check_superpower_with_rollback()
t.exception
t.filter_tokens()
t.get_extra_kwargs()
t.get_report()
t.get_superpower_data()
t.get_superpower_exception_message()
t.is_cancelled()
t.keep_on()
t.lock
t.raise_cancelled_exception()
t.raise_superpower_exception()
t.rollback_if_nondirect_polling
t.superpower()
t.superpower_rollback()
t.text_representation_of_extra_kwargs()
t.text_representation_of_kwargs()
t.text_representation_of_superpower()
t.tokens
t.wait() Всё это действительно необходимо конечному пользователю в API публичного доступа? Я отлично знаю про свойство питона, что ничего окончательно спрятать нельзя и достать можно всё. Но мы же говорим про нормальных разработчиков, а не про фриков, которые создают приватные атрибуты, а потом в публичном коде сами же к ним лезут через Например, в документации ты явным образом пишешь про
Тогда возникает логичный вопрос: с какой целью он публичный? Почему бы тогда не попрятать подобные вещи в protected, чтобы они могли наследоваться, если они нужны под капотом, или вообще их не выпилить? По поводу предложения поработать над документацией, я искренне с радостью бы взялся, если бы понимал на 100% всю логику, а главное задумку и посыл. Но пока что к сожалению не понимаю. Мне очень нравится эта штука, и я очень благодарен, что ты её вытащил для нас на свет. Если меня внезапно осенит или посетит муза, я непременно пришлю тебе PR. Ну или мы перейдём в более приватное общение, и я у тебя буду долго и нудно выпытывать "что ты вот тут имел в виду" ). Но для начала я бы разобрался с компоновкой публичного API. |
Да, ты прав, нужно будет сделать часть методов и атрибутов приватными. Займусь этим как будет время. Надумаешь сам пописать доку - велком либо тут, либо в личку. |
Вот, запилил #45 |
ЗЫ: это конечно пока только набросок и мёржить это нельзя |
Ага, спасибо, я покомментил там. Думаю, на базе твоего PR попробую тоже что-то сделать в ближайшее время. |
Привет! Спасибо за обалденную ШТУКУ!
Огорчают два момента:
CounterToken.keep_on()
, а также почему этот метод либо доступ кCounterToken.cancelled
, или вызовCounterToken.is_cancelled()
уменьшают счётчик.Есть планы это поправить?
The text was updated successfully, but these errors were encountered: