![]() |
Как правильно оформлять код
PHP: http://framework.zend.com/manual/ru/coding-standard.coding-style.html
Java: http://java.sun.com/docs/codeconv/html/CodeConventions.doc.html Perl: perldoc perlstyle Python http://www.python.org/dev/peps/pep-0008/ Касательно скобок { и т.д. Существуют определенные стили. Сили для проектов с нуля надо выбирать самим. Проекты, использующие конкретную разработку, должны писаться в стиле этих проектов, который может отличаться от стиля языка(но этого обычно не происходит) Некоторые языки не имеют официальных стилей(например C или C++), стилей там вагон и маленькая тележка |
Delphi: http://softsl.com/Pagcat-211-Pagenum-1.html
Плз, перенеси мое сообщение в соседнюю ветку "Программирование Делфи С++, АСМ" ЧУть нетуда напостил ner: не будем плодить темы |
Цитата:
Код выполниться быстрее при записи PHP код:
|
Ну давай результаты тестирования. Причем не профайлером, а в боевой среде. Т.е. с нормально настроенным вебсервером, кешированием байт-кода и не искусственным примером.
А то опровергать документацию каждый дурак горазд ))) Если уверен в своих словах - докажи. |
Сейчас не могу сам ничего тестировать, но уже тестировал не 1 раз...
Смотрим статью http://php.spb.ru/php/speed.html Пробуем сами |
Окей. Посмотрим статью по ссылке. Что мы видим? Бред. Почему?
Ну к примеру для начала можно посмотреть на дату и увидеть, что текст написан 7 лет назад и давно потерял актуальность. ПХП с тех пор переписывался 2 раза, к примеру. Ну а можно начать читать многочисленные статьи и документацию по оптимизации. Ну там даже книги. Основной закон оптимизации: оптимизировпать надо там, где надо. А не везде. Вот на досуге почитайте лучше это, чем всякие заплесневелые тексты: http://rsdn.ru/article/philosophy/Optimization.xml |
нер, давай не будем спорить...
Скачай примеры http://php.spb.ru/php/speed(2001nov13).exe проверь.... Все до сих пор актуально |
окей. Только примеры не эти(синтетические), а нормальные. Тогда и посмотрим. Потестируем(через ab к примеру)
Сомневаюсь что на реальном приложении прирост будет больше процента ;) |
Вообще прирост, пусть небольшой, но должен быть.
По этой же причине в интерпретируемых языках рекомендуется строки заключать в одинарные кавычки, а не двойные. Парсеру необходимо проверять двойные кавычки на наличие переменных, а это - какое-никакое, но время. На мой взгляд этим вообще можно принеберечь... |
Утилитой ab веб сервер тестируют, а мерять загрузку сервера ради таких тестов бред тк разница будет маленькой.Одинарные ковычки быстрее как в пятой так и в четвертой версии, я тестировал обычным таймером и исполнением тысячи строк типа print 'index : '.$temp; и print 'index : '.$temp; . В первом случае вывод занял 0.0133, во втором 0.0022 секунды . Это мелочи, но Isis прав. |
Цитата:
А то, что разница маленькая - я про это и говорю. Тут погрешность больше разницы то будет ) |
В четвертой ветке php играла роль " или ', в пятой ветке php это уже не как не влияет, работает одинаково по времени...
|
В конце недели комп появится, я сделаю тесты и докажу вам что я прав =)
|
Я полностью согласен с ISIS.
Что тут доказывать :mad: Если кому-то надо - тот сам возьмёт и проверит IMHO это спор на пустом месте! Хотя я не всегда придерживаюсь этих правил, но если пишу большой проект там естественно нужно учитывать всё! Когда вы пишете код из 10-50 строк это фигня можно пренебречь но представьте код из 1000 строк... |
Цитата:
Злостные оптимизаторы как правило не в пОчОте :) Если тебе важные такие выигрыши во времеи, то пиши код без пробелов, без комментариев (на их игнорирование ведь интерпретатор тоже время тратит), никогда не используй ООП. Существует такое понятие, как рациональность. Поэтому, я луше напишу: PHP код:
PHP код:
То же самое с классами. Если вы помешаны на скорости - используйте процедурный метод программирования, но в большие проекты свой нос даже не пытайтесь сувать, рано или поздно он превратиться из библиотеки функций в кучу дерьма. |
Цитата:
|
Пример
PHP код:
|
Да вы ещё подеритесь!!
А, вообще-то, какой-то странный первый пост... Не так уж и много стилей для cpp... Да и ко всему сказанномустоит добавить, что после некоторого опыта кодинга удобный стиль вырабатывается АВТОМАТИЧЕСКИ, а новички всё равно "на эту фигню" забьют - не раз проверено... Но мой личный опыт - когда я начал оформлять код красиво (к счастью, у меня это произошло довольно рано:), я внезапно обнаружил, что теперь 95% программ работают правильно с первого компила без дебага=) |
кто вообще сказал что "правильное оформление" должно предполагать собою наиболее быстро работающий код? "правильное оформление" - это наиболее читабельный код.. )
|
Цитата:
оговорюсь, что когда проект маленький , то его и прочитать (понять смысл кода) легко и быстрота выполнения мало зависит от таких мелочей , но если проект масштабный - тут нужно уже думать о сервере и пользователях ... |
>> но если проект масштабный - тут нужно уже думать о сервере и пользователях ...
я согласен.. но никто ведь и не заставляет вас всегда писать "правильно оформленный код".. это всего лишь рекомендации.. ) |
Цитата:
Д а и оформление дело привычки ... |
Вы можете писать так как вам угодно, но если нужно оформление (в смысле читабельность) то есть специальные программы...
|
ssb1981
например ? |
Цитата:
PHP код:
|
Цитата:
мне больше привычно писать вот так PHP код:
|
>>Парсеру необходимо проверять двойные кавычки на наличие переменных, а это -
>>какое-никакое, но время. мне кажется что половина людей из этой темы не понимает как работает "парсер" пхп: сначала функция zend_compile преобразует пхп-код в байт-код (короче говоря зенд-ассемблер), при этом интепретация пхп-кода в соответствующий набор элементарных инструкций выполняется довольно быстро, и в веб-программировании, как заметил нерезус, это будет ВООБЩЕ не ощутимо.. далее, я больше чем уверен, что код типа: >>$s='aaa'.$a; и >>$s="aaa$a"; вообще интепретируется одинаково. и только после преобразования запускается виртуальная машина исполняющая полученный код.. поэтому все ваши задержки с for'ами !вообще! смысла не несут, если оно и парсится хоть сколько-нибудь медленно, то выполняется все так же. |
ZaCo, т.к. в двойные кавычки можно писать переменные, то все вхождения в них синтаксически проверяются и код
>>$s='aaa'.$a; и >>$s="aaa$a"; отличается с выигрышем первого! |
я вроде выше все написал. если не совсем ясно, то добавлю, что если мы имеем дело с относительно большим по объему скриптом (объем такой, что время компиляции по сравнению с тем же кодом, но с заменой '-строк на "-строки будет практически таким же, ну тут не о мегабайтах текста говорится, думается и 500байт честного исходника хватит;)) то разницы не будет, поскольку именно выполняться он будет всегда одинаково. более того, что важнее - скорость компиляции или выполнения? для скрипта <?php ?> наверное все же первое, а для любых других более вменяемых? ну вот и я думаю.
|
Что эти 500байт...
Если двиг vBulletin, если он на античате? Теперь представь что будет если везде будет как вы хотите...угу форум не выживет |
Короче объясняю научно и популярно.
Цитата:
Следует знать, как работает state machine: читает посимвольно код и меняет состояния. Поэтому разницы в скорости парсинга что у '1 ' . $ a . ' 2', что у "1 $a 2" не будет никакой. Точнее будет(совсем ничтожная), но в пользу второго: символов меньше: меньше итераций цикла. P.S. Сначала бы не писал хрень вроде "Вставляю свои скрипты которые предотвращают любой вид взлома", а потом уже в спор лез. |
2 Digimortal
скорее всего SSB1981 имел в виду автоотступы в редакторах |
Цитата:
|
Это уже сказали =\
|
Для особо умных: прикиньтее, я не дурак, знаю синтаксис. Круто, да?
Но блять с чего же медленнее двойные работать должны? Читаем поост 31: научно и популярно. Итак вопрос всем "умникам": на что тратится скорость при двойных кавычках? текст там парсится таким же образом. Только чтобы избежать бреда читаем сначала тут: http://en.wikipedia.org/wiki/State_Machine После прочтения этого уже можно отвечать. Внимательно слушаю. |
Цитата:
|
Цитата:
http://habrahabr.ru/blog/php/39115.html |
| Время: 05:51 |