Removing a method from an interface leaves every implementation with a public method nothing calls, and the language has no opinion about that. The #[Override] attribute turns this…
Checking whether a string is valid JSON meant decoding it and throwing the result away, which allocates the whole structure to answer a yes-or-no question. The saving is…
A test using shuffle() that failed roughly once a fortnight, and a global seed that could not be set without affecting everything else. The Randomizer arrived in 8.2…
6.4 and 7.0 shipped in the same week, which is the release model working as designed and is still a decision. Taking the long-term-support release and stopping is…
Fetching a class constant by a variable name required constant() with a string concatenation, which no tool could follow. The syntax is better than the string concatenation mainly…
Two integer columns and a currency string, reassembled by hand in every place that needed a total. A cast that reads several columns and writes several is the…