PHP Manual
/
Hlavný vývojár

Nevhodné používanie zberača odpadu

11. 02. 2023

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?

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
8.
Status:
All systems normal.
2024