Zalecenie w Kodeksie Complete jest ważne dla języka takich jak C, ponieważ kiedy masz
int f(void) {
int counter;
}
wartość counter
to co dzieje się zajmować, że pamięć.
W Perl, kiedy zadeklarować zmienną korzystając
my $counter;
nie ma wątpliwości, że wartość $counter
jest undef
nie jakiś przypadkowy śmieci.
Dlatego motywacja zalecenia, tj. Zapewnienie, że wszystkie zmienne zaczynają się od znanych wartości, jest automatycznie spełniana w Perlu i nie jest konieczne wykonywanie żadnych czynności.
To, co robisz z licznikami, to ich zwiększanie lub zmniejszanie. Wynik:
my $counter;
# ...
++ $counter;
jest dobrze zdefiniowany w Perlu. $counter
będzie mieć wartość 1
.
Na koniec, argumentowałbym, że w większości przypadków liczniki nie są konieczne w Perlu i kod może wymagać ponownego napisania kodu z szerokim wykorzystaniem zmiennych licznika.
Inicjowanie zmiennych do 'undef' jest nadal inicjalizacją. – zigdon
Czy mogę zapytać, dlaczego chciałbyś to zrobić? – Zaid
@Zaid: Cała historia - czytam Code Complete (który wspomina zawsze o inicjalizowaniu zmiennych podczas deklaracji, jeśli to możliwe) i przeglądał jeden z moich starych plików, który używa wielu liczników, które początkowo zainicjowałem na "zero" ale później usunięto wszystkie niepotrzebne inicjalizacje. Zastanawiam się nad ponownym wprowadzeniem wszystkich inicjalizacji i zadałem to pytanie, aby znaleźć lepszy sposób na zrobienie tego. – Lazer