Skip to content

Conversation

@Rebarbora6
Copy link
Owner

Ahoj,
tak se mi podařilo dát dohromady něco, co vyplivne fakturu s qr kódem 😄. Do jak míry ne/ošklivě je opět na tvém posouzení. Co mi není doposud jasné, je vytváření nové výjimky. Tam bych potřebovala poradit, jak to udělat lépe.
PS: jsem si vědoma toho, že mám ještě commitnout opravené třídy, nezbývá k tomu mnoho, během týdne nahraju.

@@ -0,0 +1,64 @@
class band_member:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tento súbor si sem asi dať nechcela 😅... pri vytváraní nových branchov by som odporučil najprv checkout na mastera a z neho následne vytvárať...

@@ -0,0 +1,13 @@
<html>
<head>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nakoľko používaš diakritiku, tak by som sem odporučil prihodiť <meta charset="UTF-8"> (v skratke: nastaví to encoding na UTF-8, teda aj znaky ako "č", "v" budú zobrazené korektne).

@@ -0,0 +1,21 @@
{"den":"20221202","denc":"2.12.2022","banka":"\u010Cesk\u00E1 spo\u0159itelna","url":"https://www.kurzy.cz/kurzy-men/kurzovni-listek/ceska-sporitelna/","kurzy":{
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tento súbor by bolo možno dobré pridať do .gitignore.


def run_app(self):
if self.currency != 'KČ' or self.currency == None:
Convertor.convert(self)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Na nasledujúcich 4 riadkoch je podobný problém, ako vyšie... zlý spôsob volania metódy na danej instancii.

data = json.load(text_file)
json_date = datetime.strptime(data["den"], "%Y%m%d")
if now - json_date > timedelta(days=1):
LoadExchangeRates.load_data(self)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Toto nie je správne, nakoľko aktuálne si pristúpila k danej metóde ak k statickej. Ty chceš pristupovať priamo z instancie, teda správne self.load_data(), kedy premenná self obsahuje danú instanciu. To, že self nedávaš ako argument je úplne v poriadku, za teba to vyplní interpreter už spomínanou instanciou na ktorej si to zavolala...

Toto je dosť potrebné aby si pochopila... takže sa pýtaj.

exchange_unit = 1/data["kurzy"][self.currency]["jednotka"]
self.amount_of_money = int(self.amount_of_money) *\
exchange_unit * exchange_rate
type(exchange_unit)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Toto je asi nejaký zabudnutý artefakt z vývoja... 🤔

self.amount_of_money = int(self.amount_of_money) *\
exchange_unit * exchange_rate
type(exchange_unit)
else:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ak by si celú túto podmeinku otočila, tak by si sa zbavila else vetvy (nakoľko výnimku nikde v tejto funkcii neodchytávaš, správala by sa dosť ekvivalentne returnu)

@@ -0,0 +1,118 @@
#
# české názvy jsou ponechány po vzoru zadání
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, ale ten český komentár byť nemusel... ale to je maličkosť 😄.

@patrikcelko
Copy link
Collaborator

Nebyť tých zlých volaní metód bolo by to dobré...😢. Bol by som rád, ak by si si to opravila. A hlavne ak tomu nechápeš treba sa spýtať.

Tvorenie vlastných výnimiek nie je vôbec zložité. Každá výnimka (ako aj všetko ostatné) je len obyčajná trieda, ktorá dedí z nejakej už existujúcej výnimky (aj zo svojej, ak tá dedí z inej, už existujúcej a tak ďalej). Aktuálnu hierarchiu výnimiek môžeš vidieť napríklad tu - čím nižšie v danom strome, tým konkrétnejšia. Pričom platí, že ty chceš použiť čo najviac konkrétnejšiu, ako sa len dá, preto si občas tvoríme aj vlastné výnimky (custom výnimka viac dokáže špecifikovať ten problém, ktorý nastal).

Do feedbacku som to nepísal, nakoľko to nevidím až ako tak zásadný problém, ale namiesto Exceptio si mohla radšej použiť konkrétnejšiu a to napr. ValueError.

Dúfam, že som odpovedal na čo si sa pýtala, ak nie napíš 🌞.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants