Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правила хорошего кода 
:(
    Опции темы
-=Ustas=-
Дата 19.10.2005, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



А по мне, так удобнее (и красивее) пользовать Pear стандарты:
Код

function NameFunction()
{ // у функций скобы такие
    if ($z) { // а у конструкторов такие
        $a = 1;
    } else {
        $a = 0;
    }
}

switch ($var) {
    case ("bla"):
        $m = 0;
        break;
    case ("alb"):
        $m = 1;
        break;
}

// Классы аналогично функциям
class NameClass
{
    function NameFunction()
    { // у методов скобы такие
        if ($z) { // а у конструкторов такие
            $a = 1;
        } else {
            $a = 0;
        }
    }
}


Это сообщение отредактировал(а) -=Ustas=- - 19.10.2005, 14:19


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
AntonioBanderaz
Дата 24.10.2005, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Есть некоторые люди, которые ещё и дополнительный перенос строки ставят... )))


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 24.10.2005, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



Цитата(AntonioBanderaz @ 24.10.2005, 13:36)
Есть некоторые люди, которые ещё и дополнительный перенос строки ставят... )))

Т.е.?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Master
Дата 24.10.2005, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: нет
Всего: 10



всем хай smile

Цитата
<?php
// Замена переменных в шаблоне
$text = ereg_replace("<!--a-->", $a, $text);
$text = ereg_replace("<!--b-->", $b, $text);
$text = ereg_replace("<!--c-->", $c, $text);
$text = ereg_replace("<!--d-->", $d, $text);
// Это по меньшей мере ужасно, но встречается очень часто.
// Оптимизируем и получаем одну строку:
$text = str_replace(array('<!--a-->', '<!--b-->', '<!--c-->', '<!--d-->'), array($a, $b, $c, $d), $text);

// Разбивка текста всегда осуществляем с помощью explode,
// а не split'a как это очень часто делают некоторые неопытные люди. Т.е. такой код:
$arr = split("|", $line);
// Заменяем на
$arr = explode("|", $line);
// Разумеется если вам необходимо разбить строку при помощи регулярных выражений,
// лучше всего сначала подумать: а может быть есть другой выход из ситуации?
?>


Изотоп, глядя вот на это хочеться сразу предложить отделять комменты переносами, а то когда правиш код без подсветки тяжко становиться:

Код

<?php

// Замена переменных в шаблоне
$text = ereg_replace("<!--a-->", $a, $text);
$text = ereg_replace("<!--b-->", $b, $text);
$text = ereg_replace("<!--c-->", $c, $text);
$text = ereg_replace("<!--d-->", $d, $text);
// Это по меньшей мере ужасно, но встречается очень часто. 

// Оптимизируем и получаем одну строку:
$text = str_replace(array('<!--a-->', '<!--b-->', '<!--c-->', '<!--d-->'), array($a, $b, $c, $d), $text);

// Разбивка текста всегда осуществляем с помощью explode,
// а не split'a как это очень часто делают некоторые неопытные люди. Т.е. такой код:
$arr = split("|", $line);

// Заменяем на 
$arr = explode("|", $line);

// Разумеется если вам необходимо разбить строку при помощи регулярных выражений,
// лучше всего сначала подумать: а может быть есть другой выход из ситуации?

?>


Это сообщение отредактировал(а) Master - 24.10.2005, 16:21


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
AntonioBanderaz
Дата 25.10.2005, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Цитата
Т.е.?

Код

class tralaLA {

     var $tra;

     var $rara;

     function tralaLA() {
         
         //некоторые действия

         // Тоже действие

         //Etc...

     }
}

Добавлено @ 13:53
Если что пример могу скинуть в виде ссылки...


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 25.10.2005, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



AntonioBanderaz, жуть!!! smile Хоть и отступы есть, а читабельность нулевая! smile


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
AntonioBanderaz
Дата 28.10.2005, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


Профиль
Группа: Участник
Сообщений: 851
Регистрация: 28.4.2005
Где: Санкт-Петербург

Репутация: 1
Всего: 18



Да я и сам испуг когда эт увидел...


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
wsr
Дата 14.1.2006, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fuzzy Logic
*


Профиль
Группа: Участник
Сообщений: 142
Регистрация: 3.7.2005

Репутация: нет
Всего: 2



Я лично при кодинге больших "приложений", предпочитаю пользоваться следующим:
Код

while ( ) :
         # вместо стандартной конструкции while () {} 
endwhile;

if ( ) :
         # вместо стандартной конструкции if () {} 
endif;

for ( ) :
         # вместо стандартной конструкции for () {} 
endfor;

switch ( ) :
         # вместо стандартной конструкции switch () {} 
endswitch;
         # вместо стандартной конструкции foreach () {} 
foreach ( ) :

endforeach;

По моему это лучший вариант для более удобного парсинга своего же кода в будущем!
А то будет в коде куча {{{{{{{ и }}}}}}}} и попробуй разберись что к чему относится, а так все четко и понятно!

Это сообщение отредактировал(а) wsr - 23.1.2006, 01:08
--------------------
 ICQ : 918-318Сайт : Lock-Team 
PM MAIL WWW ICQ   Вверх
IBSN
Дата 15.1.2006, 01:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Позвольте, отделение пробелами - увеличивает читабельность, имхо...
1.
Код

if($a == "test") {
      echo "Test is: " . $a . "!";
}


2.
Код

$at = Array();
$ar = Array( Array() );
echo $ar[ $at[0] ][0];

  Вверх
IZ@TOP
Дата 16.1.2006, 02:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



wsr, мне кажется что эти конструкции немного устарели. А с фигурными скобками разбираться нет проблем - ставим Zend Studio и радуемся крестикам которые эти скобки группируют (скрывают, открывают).


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Kefir
Дата 16.1.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

Репутация: 1
Всего: 87



Изотоп, умм... вы меня извините, конечно, но зенд стоит 99-1499 баков стоит smile Но это так, к слову...
А вообще, хорошо оформленный код избавляет от проблемы различения '}'.
Свёртывание кода, имхо, вообще не должно влиять на удобочитаемость кода.
Да, и, кстати, насколько я помню комодо тоже свёртывает неплохо.
PM MAIL WWW Skype   Вверх
IZ@TOP
Дата 16.1.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Kefir, кто чем пользуется. Я привык к зендовскому монстру, стоит да, но я пока "триал" юзаю (хи-хи). Правильно ты сказал - как напишешь, так и прочитаешь.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Janus
Дата 16.1.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 26.9.2005

Репутация: нет
Всего: 1



Многие редакторы могут сворачивать блоки (кажется, это называется "фолдеринг" или что-то типа этого). Например, Notepad++. Он к тому же идет под GNU GPL.
--------------------
Проект "Репликатор" 
PM MAIL   Вверх
Mal Hack
Дата 16.1.2006, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



ЗЕНД тоже с 5 версии сворачивает.
PM ICQ   Вверх
Janus
Дата 17.1.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 186
Регистрация: 26.9.2005

Репутация: нет
Всего: 1



Тут говорилось о том, что он платный и я предложил бесплатную альтернативу.
--------------------
Проект "Репликатор" 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0810 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.