proszę o ocenę kodu pod względem profesionalizmu

0

Funkcja splataj ma ponad 70 linii - powinieneś ją podzielić na mniejsze.
Ponadto w tej samej funkcji masz 10 poziomów zagnieżdżenia, co wygląda bardzo nieczytelnie. Podzielenie na mniejsze funkcje powinno trochę to pomóc.

Lista *glowa[100001];

Rezerwujesz sobie na twardo bardzo dużo pamięci - korzystaj z dynamicznej alokacji. Jeżeli przechowujesz wskaźnik do next, to czy potrzebujesz aby wszystkie elementy były w tablicy? Może wystarczy utworzyć dynamicznie nowy obiekt i dodać wskaźnik do niego do listy i element usunąć gdy go zdejmujesz.
W ogóle czy klasy nie powinny nazywać się zamaist Lista -> ElementListy, a klasa snickers(skąd ta nazwa?) -> Lista?
Zakładam że piszesz tą klasę na zajęcia i nie możesz korzystać z std::
Czepianie się: Czemu w klasie Lista definicję tworzysz na zewnątrz klasy, a w klasie Snickers w środku?
Czepianie się: Lepiej trzymaj się spójnej konwencji jeśli chodzi o nawiasy klamrowe, albo są wszędzie(ta opcję polecam), albo są tylko tam gdzie są niezbędne. Jeżeli będziesz to mieszał to szybko się pogubisz.

Takie pierwsze rzeczy które rzuciły mi się o oko...

5
  1. Bez magicznych liczb. Nikt nie będzie wiedział, co to jest 100001 albo 100000
  2. Sensowne nazwy zmiennych. Co to są m, f, gpom1, gpom2, m1, m2, op?
  3. Używaj ++i, ++licznik
  4. Spójnośc klamerek:
switch (op)
{
  1. Po co to wcięcie pod #include?
  2. Nazwy zmiennych zazwyczaj się zaczynają od małej: Snickers test
  3. Kwestia dyskusyjna, ale warto używać klamerek nawet przy
if (pom->back)
{
    pom->back->next = pom;
}

Czasem może to uratować kilka godzin debuggowania.
8) Można dodać spacje tu i ówdzie, ale to już kwestia indywidualnego stylu (albo wytycznych firmy).
9) else ifów nie trzeba zagnieżdżać, tak coś jest powszechnie akceptowalne:

if ()
    ...
else if ()
    ...
else if ()
    ...
else
    ...

1 użytkowników online, w tym zalogowanych: 0, gości: 1