Wpis z mikrobloga

Program Dla mirków z #kryptografia, program do określania częstotliwości występowania danego słowa lub ciągu w danym języku (Idealne do rozwiązywania zagadek z zachowaną strukturą). I prośba do mirków z #programowanie o code review, szczególnie jakie elementy C++11/14/17 mógłbym zastosować aby jeszcze bardziej przyspieszyć działanie lub polepszyć czytelność kodu.

  • 5
@mackar: tak patrze na ten kod i w sumie nasuwa się pytanie - czemu do czytania słowa nie użyjesz po prostu istream::operator>>? Wtedy odczyt słowa i obsługa whitespace'ów między nimi jest praktycznie w trzech linijkach.
@mackar: podziel to jakos sensowniej - generalnie wyglada strasznie chaotycznie. Chwile poaptrzylem, wiec:

1. staraj sie nie uzywac using namespace std;
2. globalne zmienne -> won do klasy razem z operacjami, ktore ich potrzebuja
3. deque? Ty nie chcesz miec przypadkiem std::wstring-a?
4. countWords(): iterator begin, iterator end zamiast deque<..> &data i iterator last. mozesz zrobic nawet templatowe
5. countWords(): zrob sobie funkcje is[Not]Whitespace, inna sprawa, ze w C/C++ jest juz
@leoha, @TheNewIcek: Dzięki bardzo za review.
@leoha: W countWords() nie używam istream::operator>> ponieważ dane z pliku już mam wczytane do pamięci i nie chcę ponownego odczytu z dysku.
@TheNewIcek:
1. Czy w momencie kiedy nie używam innych bibliotek to dalej ma sens, czy to raczej kwestia dobrych praktyk?
2. Czy jeżeli są static to czy to robi różnicę, czy to również kwestia dobrych praktyk i czy nie lepsze