September 2023
Beginner to intermediate
312 pages
9h 8m
Polish
Jako młodzi programiści wszyscy jesteśmy uczeni, że ogólne rozwiązania są lepsze od szczegółowych. Lepiej napisać jedną funkcję, która rozwiązuje dwa problemy, niż dwie osobne, z których każda będzie rozwiązywać jeden problem.
Jest raczej mało prawdopodobne, że napiszesz kod taki jak ten przedstawiony poniżej:
Sign * findRedSign(const vector<Sign *> & signs)
{
for (Sign * sign : signs)
if (sign->color() == Color::Red)
return sign;
return nullptr;
}
Z kolei bez trudu mogę sobie wyobrazić, że napiszesz funkcję taką jak ta:
Sign * findSignByColor(const vector<Sign *> & signs, Color color)
{
for (Sign * sign : signs)
if (sign->color() == color)
return sign;
return ...
Read now
Unlock full access