Иное правительство, иное воспитание людей, иное отношение к ценностям и личности.Крайне низкий уровень ЗП. Острый национализм большинства «местных» жителей, в том числе и правительства.
Конечно, отчасти вы правы.
Но не стоит, однако, путать лень хорошего программиста, с нежеланием быдлокодера писать хороший код. Первый знает что и почему он делает; второй делает, чтобы "замазать", спрятать надоедающие вещи, не понимая причины их появления и нежелая их исправлять.
Вся тонкость оператора @ как раз состоит в том, что при и только при правильном его применении он позволяет написать короткий и элегантный код.
Однако, опять же, обращаю ваше внимание на то, что использование оператора @ в _законченных_ скриптах не рекомендуется - лучше применять его только при отладке.
Оператор @ - быстрое решение, когда лень писать много кода. Но предыдущее предложение _не_ означает, что @ - зло. Зло всегда происходит от неправильного ее применения. Конечно, в законченных скриптах не рекомендуется применять.
Есть четкие правила использования оператора @:
* общее - только перед встроенными функциями:
$f = @fopen($fname);
$d = @mysql_connect(...);
@mkdir(...)
* при проверке возможно неинициализированных переменных: if(@$_POST['var'])
* Когда лень писать много кавычек в массивах: @$arr[element1][element2][element3]
В остальных случаях использование данной директивы не рекомендуется.
Ни в коем случае нельзя использовать оператор @ перед:
* директивой include(), так как подавятся все сообщения об ошибках во включаемом файле.
* перед вызовом собственных функций.
* перед функцией eval()
Замечу также, что оператор @ лишь подавляет вывод сообщений об ошибках в браузер. В логи сообщения будут продолжать писаться (при включенном log_error, конечно же)
А вообще хотелось бы не мяса, а простого классического StarWars'а.
Помимо уже сказанных примочек вроде метронома, хотелось бы видеть непосредственно ноты, а не только табулатуру.
Спасибо!
}
вместо
if(isset($_POST['varname'])){
}
Но не стоит, однако, путать лень хорошего программиста, с нежеланием быдлокодера писать хороший код. Первый знает что и почему он делает; второй делает, чтобы "замазать", спрятать надоедающие вещи, не понимая причины их появления и нежелая их исправлять.
Вся тонкость оператора @ как раз состоит в том, что при и только при правильном его применении он позволяет написать короткий и элегантный код.
Однако, опять же, обращаю ваше внимание на то, что использование оператора @ в _законченных_ скриптах не рекомендуется - лучше применять его только при отладке.
Есть четкие правила использования оператора @:
* общее - только перед встроенными функциями:
$f = @fopen($fname);
$d = @mysql_connect(...);
@mkdir(...)
* при проверке возможно неинициализированных переменных: if(@$_POST['var'])
* Когда лень писать много кавычек в массивах: @$arr[element1][element2][element3]
В остальных случаях использование данной директивы не рекомендуется.
Ни в коем случае нельзя использовать оператор @ перед:
* директивой include(), так как подавятся все сообщения об ошибках во включаемом файле.
* перед вызовом собственных функций.
* перед функцией eval()
Замечу также, что оператор @ лишь подавляет вывод сообщений об ошибках в браузер. В логи сообщения будут продолжать писаться (при включенном log_error, конечно же)
Интересно, что не так давно меня искренне уверяли некоторые пользователи Хабра, что нужно быть сволочью, так как вокруг одни сволочи.