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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правила хорошего кода 
:(
    Опции темы
Irokez
Дата 7.4.2005, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 4
Всего: 53



Mal Hack
да нет там такого:
Цитата
Chapter 4. Coding Standards

стандарты написания кода, а не класса, т.е. как правильно код написать
PM   Вверх
Mal Hack
Дата 7.4.2005, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Звиняй, не прав я был. Раньше этого не замечал.
PM ICQ   Вверх
Irokez
Дата 8.4.2005, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


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

Репутация: 4
Всего: 53



smile звиняю
PM   Вверх
Рыжий
Дата 30.4.2005, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

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



можно так же писать все константы прописными буквами - это как общепринятное правило уже стало smile
PM MAIL ICQ   Вверх
Илья
Дата 9.6.2005, 10:09 (ссылка)    |    (голосов: 1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(IZ @ 3.4.2005, 10:58)
10. Оптимизация строковых функций.
Пример:
Код

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

Split и Explode две совершенно разные функции. И утверждать что тот кто использует Split - неопытный человек, полный бред. ;)
  Вверх
Opik
Дата 9.6.2005, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 3
Всего: 55



Илья
чаще всего так... обычно split приименяют необоснованно..
PM MAIL Skype   Вверх
IZ@TOP
Дата 9.6.2005, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Илья, есть куча примеров, хотя бы на данном форуме smile А еще знаю человека который преподает в неком учебном учреждении, на платной основе, РНР, что такое explode он незнает smile

Я сколько не делал всевозможных скриптов, ну нигде я не нашел применения этой функции smile


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

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


Шустрый
*


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

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



IZ@TOP
explode не приходилось юзать? smile
PM MAIL   Вверх
IZ@TOP
Дата 4.10.2005, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Ринат, прочти тему с начала, потом разбегись и ... об стену - разбег 100 метров smile


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

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


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



Я считаю, отделение логики от гипертекста - совсем не в тему.
Топик создавался для сбора примеров правил хорошего кода.

Со своей стороны могу подчеркнуть некоторые моменты, которых я придерживаюсь:

таб - пробелами, 4 символа
класс - имя класса и его конструктора с большой буквы, верблюжьим стилем ( ExampleClass() )
методы - с маленькой, верблюжьим стилем ( theMethod() )
переменные - в основном с маленькой буквы, через подчеркивание ($the_variable)
фигурные скобки - ВЕЗДЕ(!) в одной строке с оператором/функцией/итд... пример
Код

function a(){
    if($z){
        $a=1;
    } else {
        $a=0;
   }
}

документирование кода - ОБЯЗАТЕЛЬНО! все классы, их методы, переменные...
константы - большими буквами
дефайны - тоже.
в строках, при использовании переменных, обязательно выделяю их вот так
Код

$str="Hello ".$name."! I see you!";


require/include - в скобках. это больше для красоты. require_once("MyClass.php");

А вот чего никак не возьму в привычку, так это пробелы вокруг знака =
smile

Это сообщение отредактировал(а) Alone - 6.10.2005, 10:34


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 10.10.2005, 13:49 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Мне нравятся упрощенные конструкции условий использовать:

Код

$a = (is_numeric($b)) ? $b : 0;

Добавлено @ 13:54
А в остальном полностью поддерживаю Alone, ну, за исключением пробелов, я вставляю до и после знака =.


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

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


Увлекающийся
**


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

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



Полностью согласен с Alone, делаю почти один в один. Единственное исключение, так это
Код

function a()
{
    if($z)
    {
        $a=1;
    } 
    else //Любая { или } на отдельной строке
    {
        $a=0;
    }
}

Исключительно ради наглядности smile
Ну и в обязательном порядке пробелы вокруг = + - * / & && | || == != > < >= <=


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
AntonioBanderaz
Дата 13.10.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



IZ@TOP
Да мне тоже нравятся упр констр, но не все их понимают.
Если для себя - можно, а если для кого-то?

Коментировать каждую функцию, что делает, что на входе, что на выходе.
Созавать в каждом классе пример использования (закоментированый)

+ ко всему... Не знаю относится это к правилам хорошего кода, но что правила - точно.
не объединять при выводе длинные строки, время выполнения увеличивается
Т.е.
Код

echo $str1.'fghgfh'.$str2;
//аналогично
print("$str1 sdgfsdgdsg $str2");

//заменяем на
echo $str1;
echo 'fghgfh';
echo $str2;

print("$str1 sdgfsdgdsg ");
print($str2);



забыть про exec и system!


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


Xo4y B MocKBy
**


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

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



Цитата(Bikutoru @ 10.10.2005, 16:57)
Ну и в обязательном порядке пробелы вокруг = + - * / & && | || == != > < >= <=

Так некоторые умудряются еще и пробелы вокруг . ставить
Код

$str = "str" . $a . "str";
$str = "str".$a."str"; // я придерживаюсь такого стиля




--------------------
Не могу стоять, пока другие работают, пойду полежу.
PM MAIL ICQ   Вверх
Alone
Дата 19.10.2005, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 663
Регистрация: 11.5.2003
Где: Dnepropetrovsk, U A

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



Цитата(IZ @ 10.10.2005, 13:49)
А в остальном полностью поддерживаю Alone, ну, за исключением пробелов, я вставляю до и после знака =.

Я не хочу сказать что это излишне, я просто еще сам не привык везде ставить пробелы вокруг =
Тоесть правилом хорошего кода я это как раз считаю smile

А вдополнение ко всему сказанному я бы рекомендовал пользоваться ZDE
Умопомрачительная девелоперская среда! Подойдет как профессионалу, так и начинающему.
Главное не кипятиться при первых попытках работы с ней.smile
Да она тяжеловесная, потому как писана на яве, но в этом есть смысл. Но по своему удобству / функциональности она превосходит все остальные продукты, коих можно на пальцах перечислить.
Чего только стоит CodeCompletion! При обращении к объекту показывает все его методы и переменные.
А phpDocumentor! Если у вас в привычке есть пунктик - документировать все классы/методы/прочие_функции, то создание хтмл варианта документации разработчика состоит из 2-3 кликов.
В общем вот такие вот дела smile Если бы еще зенд покашлял немного денег мне за рекламу его продукта - я был бы счастлив smile


--------------------
web developer/telecommunication specialist.
mailto: [email protected]
ICQ#28442924

PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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