Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PHP, Perl, Python Новый топик    Ответить
 Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 952
Не очень мне нравится идея, что при использовании библиотеки с классом не видно, что из него нельзя создавать объекты. Только уже по факту получения ошибки становится понятно, что это был абстрактный базовый класс (а до запуска программы можно написать уже много кода).

Но в инете ничего не нашел по устоявшимся методикам именования абстрактных классов. Есть какие- то рекомендации?
29 янв 19, 12:31    [21796700]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
AlekseySQL
Не очень мне нравится идея, что при использовании библиотеки с классом не видно, что из него нельзя создавать объекты. Только уже по факту получения ошибки становится понятно, что это был абстрактный базовый класс (а до запуска программы можно написать уже много кода).


И вы можете привести пример из жизни, или это досужие размышления о высоком?
30 янв 19, 07:19    [21797401]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 16557
автор
Не очень мне нравится идея, что при использовании библиотеки с классом не видно, что из него нельзя создавать объекты


DI спасет отца русской демократии.
30 янв 19, 14:44    [21797819]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Hett
Member

Откуда: Бийск, Новосибирск
Сообщений: 13574
AlekseySQL
Не очень мне нравится идея, что при использовании библиотеки с классом не видно, что из него нельзя создавать объекты. Только уже по факту получения ошибки становится понятно, что это был абстрактный базовый класс (а до запуска программы можно написать уже много кода).

Но в инете ничего не нашел по устоявшимся методикам именования абстрактных классов. Есть какие- то рекомендации?


А вы в блокноте пишите код? Вроде все современные IDE сразу ошибку показывают.
30 янв 19, 15:09    [21797859]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Дормедонт Евлампиевич
Member

Откуда:
Сообщений: 87
используем PSR - https://www.php-fig.org/bylaws/psr-naming-conventions/
2 фев 19, 22:40    [21800582]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 952
ScareCrow
DI спасет отца русской демократии.


Потратил время, чтобы выяснить что же такое DI. Оказалось, что это способ создавать сложные объекты (специальный класс- менеджер, который берет на себя задачу вернуть корректно инициализированный объект). Самое смешное, что я именно так сейчас и делаю: у меня есть выделенный класс- менеджер (объединяющий класс), который запускает задачу. Не вижу ничего новаторского, а также не понимаю как это решит поставленный в топике вопрос.
3 фев 19, 09:58    [21800688]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 952
Дормедонт Евлампиевич
используем PSR - https://www.php-fig.org/bylaws/psr-naming-conventions/


Спасибо за толковый комментарий!

Я пытался найти инфу по интерфейсам в Python, но везде натыкался, что для этого надо использовать абстрактные базовые классы. А в вашей инструкции эти две сущности предлагают именовать по разному... Я правильно понимаю, что вы выбрали что- то одно? Что конкретно?
3 фев 19, 10:03    [21800689]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Дормедонт Евлампиевич
Member

Откуда:
Сообщений: 87
за python не скажу, но в php интерфейсы != абстрактные классы. И в зависимости от ситуации используются разные конструкции..
3 фев 19, 10:39    [21800693]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
AlekseySQL
Я пытался найти инфу по интерфейсам в Python, но везде натыкался, что для этого надо использовать абстрактные базовые классы. А в вашей инструкции эти две сущности предлагают именовать по разному... Я правильно понимаю, что вы выбрали что- то одно? Что конкретно?


Что характерно, абстрактных базовых классов в питоне тоже нет. Как нет пропертей и статических методов. Вся эта красота реализуется самим питоном. Это даже не синтаксический сахар, это часть стандартной библиотеки. Но вы, конечно же, продолжайте попытки найти инфу по интерфейсам в Python, вдруг да найдете. А учебники читать дело тупое и неблагодарное.
4 фев 19, 08:26    [21801006]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 952
Лысый дядька
Что характерно, абстрактных базовых классов в питоне тоже нет. Как нет пропертей и статических методов. Вся эта красота реализуется самим питоном. Это даже не синтаксический сахар, это часть стандартной библиотеки. Но вы, конечно же, продолжайте попытки найти инфу по интерфейсам в Python, вдруг да найдете. А учебники читать дело тупое и неблагодарное.


Одиночное подчеркивание тоже языком никак не поддерживается, однако в Python- сообществе выработались определенные соглашения на этот счет.
4 фев 19, 09:12    [21801025]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
AlekseySQL
Одиночное подчеркивание тоже языком никак не поддерживается, однако в Python- сообществе выработались определенные соглашения на этот счет.


Никакие соглашения не вырабатывались именно сообществом. Есть документ называется PEP8, за авторством Гвидо Ван Россума - автора языка и пожизненного диктатора. И вот в этом документе регламентируется использование одиночного подчеркивания, цитирую:
Guido van Rossum
_single_leading_underscore: weak "internal use" indicator. E.g. from M import * does not import objects whose name starts with an underscore.


я же ведь не спроста спросил

Лысый дядька
И вы можете привести пример из жизни, или это досужие размышления о высоком?


вы на него не ответили, потому что у вас нет никакого практического примера, вы просто фантазируете. На практике, если вы хотите инстанциировать абстрактный базовый класс, значит с вашим кодом что-то очень неправильно. Я за восемь лет разработки на питоне ни разу не получил описываемой ситуации. Вместо фантазий, вы бы почитали Python Naming Conventions Document, это же ведь легко ищется, это разжевывается во всех учебниках. Ну просто чтобы вот такое вот гавно не писать
from Forms import __init__ as MyForms

можно в конце концов посмотреть внутрь какого-нибудь чужого проекта, например, господин Армин Ранахер пишет чистый и понятный код. Вы бы взяли да и посмотрели на гитхабе как надо писать на питоне, а не досуже размышляли о вещах в которых не понимаете практически ничего.
4 фев 19, 09:59    [21801055]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 952
Лысый дядька
Есть документ называется PEP8, за авторством Гвидо Ван Россума - автора языка и пожизненного диктатора.


Ну я и пишу, что языком не поддерживается, а Ван Россум уже давно слава Богу не пожизненный диктатор.

Лысый дядька
я же ведь не спроста спросил


Разумеется не спроста: вы упиваетесь самолюбованием и чморением других людей.
4 фев 19, 13:23    [21801229]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
Лысый дядька
Member

Откуда:
Сообщений: 356
AlekseySQL
Ну я и пишу, что языком не поддерживается, а Ван Россум уже давно слава Богу не пожизненный диктатор.

Ты по ходу пьесы сам не понимаешь, что ты пишешь. Ну или не видишь разницы между документированным промышленным стандартом и негласными правилами выработанными сообществом.

AlekseySQL
Разумеется не спроста: вы упиваетесь самолюбованием и чморением других людей.

Чмырят тебя, дружище, не потому что это как то очень уж интересно, а потому что ты очень активно тупишь, что выбешивает.
Сынок, если в армии тебя будут обижать, не обижайся. (с)
4 фев 19, 13:57    [21801270]     Ответить | Цитировать Сообщить модератору
 Re: Вы как- нибудь в названии абстрактных классов показываете их абстрактность?  [new]
AlekseySQL
Member

Откуда:
Сообщений: 952
Лысый дядька
Чмырят тебя, дружище, не потому что это как то очень уж интересно, а потому что ты очень активно тупишь, что выбешивает.


Ты почему о себе во множественном числе? У тебя раздвоение личности или паразиты?
4 фев 19, 15:02    [21801359]     Ответить | Цитировать Сообщить модератору
Все форумы / PHP, Perl, Python Ответить