1. PHP / Говнокод #1480

    +135.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // Validate numeric field
    public function validateNumber($field, $errorMessage, $min=2, $max=32){
        if(!isset($_REQUEST[$field]) || !is_numeric($_REQUEST[$field]) 
            || strlen($_REQUEST[$field])<$min 
            || strlen($_REQUEST[$field])>$max)
        {
            $this->errors[]=str_replace('<br>', '', $errorMessage) . '<br>';
        }
    }

    Legacy код от индусов. Строки 4-5 просто лучшие.

    Запостил: guest, 06 Августа 2009

    Комментарии (6) RSS

    • и хде тут говнокод? просто проверка длины параметра в запросе...
      Ответить
    • Предполагаю, что говнокод здесь в 7 строке, в том как формируется сообщение об ощибке. И еще в смысле $min, $max. Мне очень интересно, где нельзя использовать однозначные числа и можно использовать 32-х значные?
      Ответить
    • коммитер:
      Говнокод тут в том, что 39 оно считает числом, а 5 - нет. Какое вообще отношение имеет strlen() к validateNumber?
      Ответить
    • cheef:
      логические ошибки, а сама реализация задачи - говнокод
      Ответить
    • Tiger Claw:
      имхо имя переменной $field однозначно говорит зачем такая проверка на значение. Что касается реализации, может она не логична, но вполне удобна.
      Ответить
    • public function validateNumber($field, $errorMessage, $min = 2, $max = 32) {
      $field = $_REQUEST[$field] ?? false;
      if( !is_numeric($field) || !($field >= $min && $field <= $max) ) {
      $this->errors[]=str_replace('<br>', '', $errorMessage) . '<br>';
      }
      }
      Ответить

    Добавить комментарий