Nevhodné používanie zberača odpadu
Ste vývojár veľkej staršej aplikácie, do ktorej postupne zavádzate PHPStan. Začínate na úrovni 0, ktorá je pomerne náročná, ale nakoniec ju zvládnete. Prejdete na ďalšie úrovne, kde jedna časť vášho kódu začne hlásiť nepoužívanú premennú $lock, ktorú by ste mali odstrániť.
Kód vyzerá takto:
public function processOrder(int $orderId): void{$lock = Lock::createLock('objednávka -' . $orderId);// Je tu istá logika...}
Poviete si, že v premennej musí byť uložený zámok, ktorý niekto zabudol neskôr uvoľniť, alebo sa to možno deje v iných metódach, ktoré sú volané neskôr. Preto sa rozhodnete odstrániť nepoužívanú premennú a ponecháte si len volanie statickej metódy, ktorá vytvára zámok.
Mohlo by toto rozhodnutie spôsobiť kritickú chybu?
Ak áno, prečo a ako mohol pôvodný mechanizmus fungovať?
Ak nie, prečo nie a ako viete, že je to vždy bezpečná operácia?