Menší problémky #14

Open
opened 2023-07-10 22:44:22 +02:00 by jan · 6 comments
Member
- [ ] špatné anotace typů - [ ] unifikace snake_case - [ ] `slovnik.get('klíč', default)` - [x] [deklarování atributů u tříd](https://gitea.ks.matfyz.cz/KSP/formatitko/issues/14#issuecomment-2309)
Author
Member

K unifikaci na snake_case, z letmého prohlížení různých pythonových knihoven i letmého pročtení PEP8 jsem se dočetl, že u tříd pythonisté preferují CapWords, u proměnných a funkcí snake_case. Jediné, kde používám camelCase jsou instance tříd, kde mi dává smysl jen změnit první písmeno na malé. Teď v posledních pár commitech jsem se snažil všechno psát snake_case, ale v některých případech to vypadá fakt nepěkně (Output_processor), takže bych se docela rád vrátil k tomu, jak jsem to dělal původně, tedy více méně jak to má PEP8 + instance tříd jsou camelCase.

Přijde ti to takhle smysluplné @mj?

K unifikaci na snake_case, z letmého prohlížení různých pythonových knihoven i letmého pročtení [PEP8](https://peps.python.org/pep-0008/) jsem se dočetl, že u tříd pythonisté preferují CapWords, u proměnných a funkcí snake_case. Jediné, kde používám camelCase jsou instance tříd, kde mi dává smysl jen změnit první písmeno na malé. Teď v posledních pár commitech jsem se snažil všechno psát snake_case, ale v některých případech to vypadá fakt nepěkně (Output_processor), takže bych se docela rád vrátil k tomu, jak jsem to dělal původně, tedy více méně jak to má PEP8 + instance tříd jsou camelCase. Přijde ti to takhle smysluplné @mj?
Owner

Proč není instance třídy prostě output_processor?

Proč není instance třídy prostě `output_processor`?
Author
Member

Na tom instancování tříd trvám asi nejméně, ale přijde mi, že

katexClient = KatexClient()

vypadá lépe a lépe to sedí k sobě než

katex_client = KatexClient()
Na tom instancování tříd trvám asi nejméně, ale přijde mi, že ```python katexClient = KatexClient() ``` vypadá lépe a lépe to sedí k sobě než ```python katex_client = KatexClient() ```
Owner

Vidíš, mně naopak přijde mnohem lepší to druhé, protože je zřetelněji odlišitelné, co je typ a co instance. Naopak mi přijde matoucí používat dlouhé identifikátory, které se liší jenom velikostí jednoho písmenka (nota bene "K", které je vizuálně dost podobné "k") :-)

Vidíš, mně naopak přijde mnohem lepší to druhé, protože je zřetelněji odlišitelné, co je typ a co instance. Naopak mi přijde matoucí používat dlouhé identifikátory, které se liší jenom velikostí jednoho písmenka (nota bene "K", které je vizuálně dost podobné "k") :-)
Owner

Ještě jedna věc ke stylu: Bylo by hezke, kdyby v třídách byly deklarované typy atributů, nebo aspoň na začátku vyjmenované, jaké atributy existují. Takhle občas nevycházím při čtení metod z údivu, co také objekt má za atributy :-)

Ještě jedna věc ke stylu: Bylo by hezke, kdyby v třídách byly deklarované typy atributů, nebo aspoň na začátku vyjmenované, jaké atributy existují. Takhle občas nevycházím při čtení metod z údivu, co také objekt má za atributy :-)
Author
Member

Přidáno do todo listu.

Přidáno do todo listu.
Sign in to join this conversation.
No labels
ksp-implementace
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: KSP/formatitko#14
No description provided.