Menší problémky #14

Open
opened 1 year ago by jan · 6 comments
jan commented 1 year ago
- [ ] š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)
jan commented 1 year ago
Poster

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?
mj commented 1 year ago
Owner

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

Proč není instance třídy prostě `output_processor`?
jan commented 1 year ago
Poster

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() ```
mj commented 1 year ago
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") :-)
mj commented 1 year ago
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 :-)
jan commented 1 year ago
Poster

Přidáno do todo listu.

Přidáno do todo listu.
jan referenced this issue from a commit 1 year ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.