I have to fight with people that using error suppression operator - they just hide their bugs.
I wrote simple patch that allows set disable_error_suppression=On in php.ini that causes engine to ignore '@' operators.
But often errors/warnings are *not* bugs. Or maybe you don't want to show your users the ugly messages from something like include -- if (!@include 'foo.php') die('Couldn\'t..');