ФорумПрограммированиеPHP для идиотов → Стиль написания кода

Стиль написания кода

  • Batler

    Сообщения: 142 Репутация: N Группа: Кто попало

    Spritz 17 августа 2009 г. 4:39, спустя 32 секунды

    Хочу знать кто как оформляет код. Сейчас вот сижу и разбираюсь в том, что сам написал. Нифига не информативно. Код какой-то нечитабельный что-ли. Хотя придерживаюсь некоторых правил:

      Разбивание на блоки (от 10 до 50 строк).
      Комменты
      Более менее осмысленные имена переменных
      Отступы

    Но все равно, как то глаза устают анализировать что написано. Вот пример. Тут все понятно, но
    работать все равно тяжко…

    function($match) {
       $year = date('Y-');                

       if (sizeof($match) == 3) {
           return $year . $match[2] . '-' . $match[1] . ',';
       }

       //Если совпадают месяцы, то все отлично
       if ($match[3] == $match[6]) {
           if ($match[1] + 1 == $match[4]) {
               return implode(',', array( $year . $match[3] . '-' . $match[2], $year . $match[6] . '-' . $match[5] ));
           }
           else {
               $range = range($match[2], $match[5]);
               foreach ($range as $k => &$v) {
                   $v = $year . $match[3] . '-' . $v;
               }
               return implode(',', $range);
           }
       }

       //А если не совпали вычисляем…
       //Переводим во внутренний формат все входные данные.
       $begin_date = date('Y-m-j', strtotime($year . $match[3] . '-' . $match[2]));            
       $end_date = date('Y-m-j', strtotime($year . $match[6] . '-' . $match[5]));            
       $return = $begin_date . ',';                
       for ($i = 1; true; $i++) {
           $curr_date = date('Y-m-j', strtotime($begin_date . '+' . $i . 'days'));
           if ($curr_date == $end_date) {
               $return .= $curr_date;
               break;                
           }
           $return = $return . $curr_date . ',';
       }
       return $return;
    }
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 4:37, спустя 23 часа 58 минут 20 секунд

     for ($i = 1; true; $i++) {
    $curr_date = date('Y-m-j', strtotime($begin_date . '+' . $i . 'days'));
    if ($curr_date == $end_date) {
    $return .= $curr_date;
    break;
    }
    $return = $return . $curr_date . ',';
    }


    ну это то точно пиздец.

    while то слабо заюзать?)
    Сапожник без сапог
  • Batler

    Сообщения: 142 Репутация: N Группа: Кто попало

    Spritz 17 августа 2009 г. 4:39, спустя 1 минуту 8 секунд

    тогда из $return надо будет запятую удалять на последней итерации +)
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 4:41, спустя 2 минуты 10 секунд

    а я один юзаю в ретурне скобки, да?
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 4:41, спустя 42 секунды


    а я один юзаю в ретурне скобки, да?
    да, ты один мудак :)
    Сапожник без сапог
  • Batler

    Сообщения: 142 Репутация: N Группа: Кто попало

    Spritz 17 августа 2009 г. 4:45, спустя 3 минуты 16 секунд

    =)
    Дуд, у тебя какой стиль (с примерами)?
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 4:45, спустя 43 секунды



    а я один юзаю в ретурне скобки, да?
    да, ты один мудак :)
    ну я хоть не пидор… )
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 4:49, спустя 3 минуты 9 секунд


    =)
    Дуд, у тебя какой стиль (с примерами)?
    пидорский. в блоге помотри :)
    Спустя 32 сек.
    		$universities = (array)@$data->universities;
    $schools = (array)@$data->schools;

    foreach($universities as $j=>$uni)
    {
    $uni = array("id"=>$uni[0],"title"=>$uni[1]);

    $post = array("act"=>"a_get_uni_info", "uni"=>$uni["id"]);
    $data = json_decode(fetch(false,$post));

    $uni['facs'] = (array)@$data->faculties;

    $universities[$j] = $uni;
    }

    $results[$i[0]][$city[0]]["uni"] = $universities;
    $results[$i[0]][$city[0]]["school"] = $schools;

    $unicount = count($universities);
    $sccount = count($schools);


    вот пример парсера куска
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 4:49, спустя 32 секунды


    Лень… выложи суда +)
    наложил
    Сапожник без сапог
  • Batler

    Сообщения: 142 Репутация: N Группа: Кто попало

    Spritz 17 августа 2009 г. 4:50, спустя 1 минуту 6 секунд

    Ясно…
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 17 августа 2009 г. 4:50, спустя 23 часа 59 минут 41 секунду

    md5, я тоже сначала… да вродь и не был мудаком (тут не имеется ввиду что ты таки он), но скобки таки юзал. А потом чего-то бросил это дело :)
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 5:00, спустя 10 минут 5 секунд

    Givi, а я и не говорю, что я мудак)
    я просто юзаю скобки и думаю, что это охуенно)
    все умрут, а я изумруд
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 5:08, спустя 8 минут 34 секунды

    васяц юзает exit(); а я exit;
    Спустя 24 сек.
    ну и include(''); васяц юзает, а я юзаю include '';
    adw/0
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 5:15, спустя 6 минут 27 секунд

    а я юзаю die("last vzdoh …");
    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 17 августа 2009 г. 5:23, спустя 7 минут 41 секунду


    а я юзаю die("last vzdoh …");
    если я юзаю die, то тоже так как ты
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!