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:

php
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?

Newsletter

Nejlepsi tipy a triky o PHP do Vaseho e-mailu. Clanky a novinky nejen ze sveta PHP a programovani.