@RedveKoronny: na szybko, bo kto robi dobrze 1. ten statyczny std map najlepiej zamienić na free function ze switch casem, a jak tak bardzo się upierasz, to zrób go globalnego(statici w funkcji zawsze sprawdzają czy są zainicjalizowane z każdym zawołaniem funkcji) 2. curl request nie używa raii 3. te wszelkie predykaty powinny być free function 4. hextochar też, i te strumienie są okropnie wolne 5. to zastępowanie reserved
@RedveKoronny: na szybko to Update nie powinno pisać na ekran. Powinieneś mieć oddzielnie logikę gdzie pobierasz dane i je przetwarzasz i oddzielnie logikę gdzie z nią coś robisz - czy to na ekran czy może do .csv by se w excelu wykresy porobić. Mapa walut też niepotrzebna - jak masz 3 wartości to switch w konstruktorze i zapisanie sobie stringa nazwy waluty - jako bonus jak walute pomylisz to wywali
@zrakiep: to mnie zawsze zastanawiało, w cpp wszystko trzymają w src luzem, ewentualnie 1 katalog wgłąb na sub-moduł/bibliotekę potrzebną w projekcie. W innych javach czy c# tysiące katalogów ( ͡° ͜ʖ ͡°)
@RedveKoronny: widzę lubisz krytykę, tą sensowną i tą niezbyt skoro tutaj piszesz xD Ale proszę bardzo:
1) Skoro i tak już wciągasz bibliotekę do parsowania json'ów to jest jakieś uzasadnienie, aby ta konfiguracja (plik items) była w takiej dziwnej formie? Nie dałoby się z tego zrobić
Dzień dobry dostałem najniższą wypłatę od 3 lat i w związku z tym świętuję i kupiłem takie o Dlatego daje tag #janiegejjapapiesz i tag #vieniasrobwpisy @cheture
1. Używasz std::map https://www.wykop.pl/wpis/66670015/z-czego-wynika-popularnosc-std-map-aka-drzewo-czer/
2. Pola w klasie nie powinny być "const"
3. items.pushback(Item(name, currency)); można zrobić emplaceback
4. Nie wiem czy to jest zamierzone, ale pola w InputData są publiczne.
5. Używasz std::endl
Tak jak wszystko w twoim programie, ale to pokazuje twoje niechlujne
6. bool IsNum jest const
7. Nie ma testów
8. Nie ma namespaców
9. Funktory śmierdzą
10. Mam wrażenie, że jest za dużo includów
11. znaleść
1. ten statyczny std map najlepiej zamienić na free function ze switch casem, a jak tak bardzo się upierasz, to zrób go globalnego(statici w funkcji zawsze sprawdzają czy są zainicjalizowane z każdym zawołaniem funkcji)
2. curl request nie używa raii
3. te wszelkie predykaty powinny być free function
4. hextochar też, i te strumienie są okropnie wolne
5. to zastępowanie reserved
@zrakiep: jest po to żeby móc bardzo łatwo dodać kolejne waluty w przyszłości, i żeby zachować zgodność z dokumentacją steama
@zrakiep: zrobiłem sobie skrypt który tak mi tworzy klasy. Wiem że zadziała i bez tego, ale moim zdaniem jest sporo czyściej
różnica w wydajności tutaj będzie
explicitnic nie robi kiedy konstruktor ma więcej niż 1 parametr@RedveKoronny: widzę lubisz krytykę, tą sensowną i tą niezbyt skoro tutaj piszesz xD
Ale proszę bardzo:
1) Skoro i tak już wciągasz bibliotekę do parsowania json'ów to jest jakieś uzasadnienie, aby ta konfiguracja (plik
items) była w takiej dziwnej formie? Nie dałoby się z tego zrobić