Comments 133
Вообще мне ближе второй вариант, но код из примера я бы написал так:
т.е. если результат условия невелик, я пишу его в одну строчку
<?php
if ( $flag ) { echo «Hello world!»; }
?>
т.е. если результат условия невелик, я пишу его в одну строчку
0
В данном случае лучше вообще без скобок. А вообще третий, IMHO, читается лучше, когда вложенных условий много, а редактор не Zend Studio.
+3
когда вложенных условий много — код плохой.
-3
Вариант без скобок может порождать ошибки, например захочешь вставить еще один оператор и забедушь поставить фигурные скобки. Поэтому я всегда пишу скобки, даже если там один оператор.
+9
Если писать в одну строчку, то зачем там скобки? Или Вы этот второй оператор вставите на той-же строке? Фигурные скобки с момента своего появления были предазначены для ограничения блоков кода, а один оператор блоком не является. Хотя мышление у всех разное, возможно кому-то действительно трудно без них обходиться и тогда для совместимости стоит поставить.
0
А как на это в данном случае влияет Zend Studio? :) Там можно настроить форматирование и под такой стиль.
0
ну тогда уж
<?php
if ($flag)echo «Hello world!»;
?>
-3
Может тогда уж
<?=($flag? «Hellow world!»:)?>
Тут все таки про скобки разговор…
<?=($flag? «Hellow world!»:)?>
Тут все таки про скобки разговор…
+2
В php 6 этого не будет
+3
это парсер так обработал, ниже я написал правильный вариант
0
тогда наверное всё-таки вот так: <?=($flag? «Hellow world!»:«»)?>
-1
Тогда уж
$flag? print('hello world!'): null;
p.s. в php 5.3+
станет возможна конструкция ?:, чего и жду с нетерпением )
$flag? print('hello world!'): null;
p.s. в php 5.3+
станет возможна конструкция ?:, чего и жду с нетерпением )
+1
Конкретно со скобками: если в блоке 1 строчка, то стиль #1, если много, то как у вас :) Так компактнее, а без скобок на 1 строчку, имхо, несколько менее читабельно.
-1
Вообще мне ближе второй вариант, но код из примера я бы написал так:
<? php
if ( $flag ) { echo «Hello world!»; }
?>
т.е. если результат условия невелик, я пишу его в одну строчку
<? php
if ( $flag ) { echo «Hello world!»; }
?>
т.е. если результат условия невелик, я пишу его в одну строчку
-1
Я пользуюсь рацио (KR), т.к. он очень компактен. В огромных приложениях на Java это вообще спасает, а в PHP у меня — просто привычка.
+4
<? php
if($flag)
{
echo «Hello, World!»;
}
?>
так пишу я, независимо от длины условия!
if($flag)
{
echo «Hello, World!»;
}
?>
так пишу я, независимо от длины условия!
-1
Существует много рекомендаций к написанию кода. В разных проектах могут быть разные варианты использованию расстановок скобок, табуляций и пр. Если очень хотеть, можно писать любым стилем. Вообще, когда правишь код чего-либо, лучше придерживаться стиля этого кода в независимости от личных предпочтений.
Мне больше нравится рациональный стиль, с обязательным написанием фигурных скобок.
Мне больше нравится рациональный стиль, с обязательным написанием фигурных скобок.
+5
при чем тут ява?
+1
да ладно, пусть хабрачеловек тоже свой вариант выскажет ;)
0
Это свод правил(рекомендаций) оформления java кода.
+1
Ну я к тому, что создатель технологии обычно предоставляет гайдлайны. У самого PHP, как мне помнится их нет, зато есть например framework.zend.com/manual/en/coding-standard.html — если бы я писал на PHP, я бы пользовался ими. Хотя не знаю, как там у других фреймворков.
+2
Вот! Человеческий подход!
Мне больше по душе указанный выше ZF Coding Standard (то есть, #1 из топика), но и PEAR'овский тоже не плох.
И еще раз соглашусь с однохабрянами выше — на фигурных скобках экономить грЕшно.
PS: в Zend Studio / Eclipse PDT шикарный форматер кода (Shift-Ctrl-F). Шикарность — в его гибчайшей и обширнейшей настройке.
Мне больше по душе указанный выше ZF Coding Standard (то есть, #1 из топика), но и PEAR'овский тоже не плох.
И еще раз соглашусь с однохабрянами выше — на фигурных скобках экономить грЕшно.
PS: в Zend Studio / Eclipse PDT шикарный форматер кода (Shift-Ctrl-F). Шикарность — в его гибчайшей и обширнейшей настройке.
0
Стиль не такой:
а такой, с табуляцией:
<? php
if($flag)
{
echo «Hello world!»;
}
?>* This source code was highlighted with Source Code Highlighter.
а такой, с табуляцией:
<? php
if($flag)
{
echo «Hello world!»;
}
?>* This source code was highlighted with Source Code Highlighter.
0
Пишу вторым стилем (BSD) — причем обычно около первой открывающей скобки пишу кратенький коммент (если это ф-я, или куча вложенных if`ов)
0
я стараюсь использовать такой прием (для вложенных условий, например):
if($flag)
{
echo «Hello world!»;
if($flag2)
{
echo «Hello, world2!»;
}
} // end off if($flag)
ну Вы поняли суть думаю…
+1
понял ) в моем случае выглядит так
if($lala)
{ //толи девочка
echo(«девочка»);
if($lala2)
{ //а толи варенье
echo(«варенье»);
}
}
тоесть блоки табулятся вместе с if`ами. Если блок большой, отступается еще и пустыми строками перед if и после закрывающей скобки
if($lala)
{ //толи девочка
echo(«девочка»);
if($lala2)
{ //а толи варенье
echo(«варенье»);
}
}
тоесть блоки табулятся вместе с if`ами. Если блок большой, отступается еще и пустыми строками перед if и после закрывающей скобки
-2
А мне очень нравиться notepad++ при выделении одной скобки можно сразу перепрыгнуть на открывающую/закрывающую через ctr+b очень удобно :) Сам пишу первым стилем.
0
да кстати… а еще очень удобна просто подсветка скобок, например если курсор около открывающей скобки, то редактор подсвечивает закрывающую. Плюс возможность этот блок свернуть, чтобы глаза не мазолил. (сам пользую quanta+, но в последнее время TextWrangler — в нем этого очень не достает)
0
да кстати… а еще очень удобна просто подсветка скобок, например если курсор около открывающей скобки, то редактор подсвечивает закрывающую. Плюс возможность этот блок свернуть, чтобы глаза не мазолил. (сам пользую quanta+, но в последнее время TextWrangler — в нем этого очень не достает)
-3
да кстати… а еще очень удобна просто подсветка скобок, например если курсор около открывающей скобки, то редактор подсвечивает закрывающую. Плюс возможность этот блок свернуть, чтобы глаза не мазолил. (сам пользую quanta+, но в последнее время TextWrangler — в нем этого очень не достает)
-3
да кстати… а еще очень удобна просто подсветка скобок, например если курсор около открывающей скобки, то редактор подсвечивает закрывающую. Плюс возможность этот блок свернуть, чтобы глаза не мазолил. (сам пользую quanta+, но в последнее время TextWrangler — в нем этого очень не достает)
-2
Я пишу в стиле:
Операторы — слитно с условием, фигурные скобки отделены пробелом, и сейчас стараюсь все операторы выносить на новую строку, гораздо удобнее в плане когда нужно что-то добавить, например print_r() какой-нибудь или var_dump(), при отладке и т.п., раньше когда писал слитно — приходилось переформатировать код на несколько строк, добавлять необходимую отладку, а потом когда отладка не нужна — убирать ее и запихивать код обратно в одну строку… в общем лучше уж сразу :)
Операторы — слитно с условием, фигурные скобки отделены пробелом, и сейчас стараюсь все операторы выносить на новую строку, гораздо удобнее в плане когда нужно что-то добавить, например print_r() какой-нибудь или var_dump(), при отладке и т.п., раньше когда писал слитно — приходилось переформатировать код на несколько строк, добавлять необходимую отладку, а потом когда отладка не нужна — убирать ее и запихивать код обратно в одну строку… в общем лучше уж сразу :)
0
Использую рациональный стиль. Как раз потому, что он является рациональным.
У многих есть мнение, что он менее понятен, чем, например, стиль Альмена. Но это вопрос привычки. У приверженцев таких проблем нет. Другой вопрос в том, что ваш код также должны легко читать и другие. Но эти другие прежде всего те, кто с вами работает и у вас должен быть единый стиль. Поэтому и в этом случае проблем не должно быть. Другое дело, если коллектив решил использовать что-то другое, тогда ничего не остается как придерживаться пути большинства, если, конечно, не удалось переубедить.
У многих есть мнение, что он менее понятен, чем, например, стиль Альмена. Но это вопрос привычки. У приверженцев таких проблем нет. Другой вопрос в том, что ваш код также должны легко читать и другие. Но эти другие прежде всего те, кто с вами работает и у вас должен быть единый стиль. Поэтому и в этом случае проблем не должно быть. Другое дело, если коллектив решил использовать что-то другое, тогда ничего не остается как придерживаться пути большинства, если, конечно, не удалось переубедить.
+1
Договоренность об оформлении кода, если мне не изменяет память, называется техническими директивами, которые собственно ради того что вы написали и используются, чтобы любой из команды разработчиков соот-щего проекта мог не ломая глаза прочитать то, что написали его коллеги.
-1
Я тоже использую рациональный, перешел на него благодаря Coding Conventions в Яве.
Жаль, что таких же правил нет и в других языках, сильно облегчает жизнь программистам.
Жаль, что таких же правил нет и в других языках, сильно облегчает жизнь программистам.
+1
<? php
if ($flag) {
echo «Hello world!»;
}
?>
Я придерживаюсь первого варианта, хотя, это уже дело привычки каждого. Главное чтобы код был читабельным, и не только для себя.
if ($flag) {
echo «Hello world!»;
}
?>
Я придерживаюсь первого варианта, хотя, это уже дело привычки каждого. Главное чтобы код был читабельным, и не только для себя.
+2
Всегда пишу а-ля Керниган-Ритчи. Для меня весьма наглядно. и jEdit в этом помогает.
0
Солидарен с автором топика. И хотя логически верхняя скобка, занимающая строку информативно избыточна при табуляции, однако ее отсутствие меня дезориентирует. Правда, css я всегда я пишу в рациональном стиле (еще бы).
+1
<? php
if($flag)
{
echo «Hello, World!»;
}
?>
писал как и автор, только еще всегда ентеры перед началом и перед концом…
а счас пишу так:
///
/// This Class Makes Mega Function
///
public class SuperFlag
{
//Writing Hello To World Stream
private void MakeHello()
{
if ($flag)
{
Response.Write («Hello, World!»);
}
}
}
на C# перешел года 2 назад…
+1
<? php
if ($condition) {
// @todo write something
}
Закрывающий ?> не ставлю, если конечно не шаблон native php, а если он, то еще и альтернативный синтаксис:
<&php if ($condition): ?>
<sometag arg=«value»> something </sometag>
<? php endif; ?>
if ($condition) {
// @todo write something
}
Закрывающий ?> не ставлю, если конечно не шаблон native php, а если он, то еще и альтернативный синтаксис:
<&php if ($condition): ?>
<sometag arg=«value»> something </sometag>
<? php endif; ?>
+2
Рекомендую проголосовать, чтобы собрать статистику.
+1
<?php if ( $flag ) { echo "Hello world!"; } ?>
с пробелами в скобках читать по-удобнее, мне кажется.
+1
Пишу в стиле GNU. Для меня он более читаем, так как чётко выделят блоки, операторы разветвления и циклы. Использую gPHPedit. А вообще ИМХО это дело привычки. Человек пишет в том стиле с которого начинал.
0
($flag? echo «Hello World»:«»)
0
Использую (1) рациональный стиль. Плюс добавляю пробелы для читабельности:
<? php if ($flag) { echo «Hello world!»; } ?>
+1
Год назад читал многочисленные статьи по code convention, каких знаний тогда получил пока хватет. Допустим, для описания классов я использую стиль который использует автор. А для вложений использую пункт №1. А вообще-то после if ставится пробел, а для вызова функции пробел не ставится.
0
Zend Framework рекомендует собственный стандарт оформления кода (который, кстати, во многом похож на стардарт PEAR). Думаю, что стоит поддерживаться именно вариант ZF (по отношению к условным операторам там применяется рациональный стиль)
+1
Я лично предпочитаю такой вариант, без табов:
<?php if ($flag) { echo "Hello world!"; } ?>
0
использую стиль GNU: четко видно условие, где оно начинается-заканчивается и содержимое цикла.
Пользуюсь notepad++, с каждой версией он все лучше и лучше.
Пользуюсь notepad++, с каждой версией он все лучше и лучше.
0
я делаю вот так:
-1
UFO just landed and posted this here
Безумно понравился вам комментарий :)
+1
Я, видать, дебил… Когда много переменных, пишу именно так.
Лично мне очень помогает ориентироваться
Лично мне очень помогает ориентироваться
+3
И при добавлении новой переменной, сидишь и еще 10 минут выравниваешь все остальное. Ориентироватся очень помогает грамотное написание кода, которое уже по дефолту выглядит красиво и понятно.
-1
Ориентироваться помогать должны внятные имена, а не список из $x, $yyy, $zzzz (эти имена я привел для примера, я не утверждаю что вы пишете именно так).
С другой стороны, представьте, что в вашем списке из 20 переменных $x приходится переименовать в
$comments_count = 5;
$yyy = 6;
$zzzz = 7;
после чего длинный ряд столбиков «=» придется опять выравнивать по длине $comments_count «чтобы было красиво». В итоге на подобную фигню жутко тратится рабочее время, причем не только у вас, а еще у тех кто будет поддерживать ваш код.
С другой стороны, представьте, что в вашем списке из 20 переменных $x приходится переименовать в
$comments_count = 5;
$yyy = 6;
$zzzz = 7;
после чего длинный ряд столбиков «=» придется опять выравнивать по длине $comments_count «чтобы было красиво». В итоге на подобную фигню жутко тратится рабочее время, причем не только у вас, а еще у тех кто будет поддерживать ваш код.
0
Согласен с вами практически по всем пунктам, кроме одного — у Макконнелла стиль K&R не занял 1-е место, а поделил его со стилем №5 (не знаю как он называется, в общем, это тот, который использует топикстартер), т.к. они оба одинаково хорошо визуально отображают логическую структуру кода.
Мне, к примеру, больше нравится K&R, т.к. он более компактен.
P.S. А на счет «все было ровненько» — было дело :), слава богу, этот период уже прошел.
Мне, к примеру, больше нравится K&R, т.к. он более компактен.
P.S. А на счет «все было ровненько» — было дело :), слава богу, этот период уже прошел.
0
K&R №1
0
До изучения питона писал php код довольно грязно, но после питона принял для себя правило — каждый новый логический вложенный уровень должен быть отличен от предыдущего на одну табуляцию (3-4 пробела обычно). Фигурные кобки всегда на следующей строке по табуляции равны условию. Это тогда какой стиль?
+1
tony2001.phpclub.net/doc/standard/ с небольшими собственными отступлениями, в основном касаяется расстановки фигурных скобок, я их ставлю на одной строке с условием, операторами циклов и.т.д. Большие условия не пишу, а если и нужно — размещаю в несколько строк
0
UFO just landed and posted this here
с приходом в компанию, было требования писать по ZendCodingStandarts поэтому пишу
1) Рациональный стиль
**********
*****
*****
*****
**
1) Рациональный стиль
**********
*****
*****
*****
**
0
Конечно же Рациональный. Но хотелось бы заметить, что помимо расстановки есть еще стиль именования переменных, классов обьектов, использование управляющих конструкций итд итп.
Ну и конечно же не всегда есть возможность поддерживать один и тотже стиль кодирования. Как например, залезешь через телефон телнетом и попробуй покуролесить там стилем, когда надо быстро поправить.
Ну и конечно же не всегда есть возможность поддерживать один и тотже стиль кодирования. Как например, залезешь через телефон телнетом и попробуй покуролесить там стилем, когда надо быстро поправить.
0
стиль, который я использую
<? php
if($flag)
{
echo «Hello, World!»;
}
?>
<? php
if($flag)
{
echo «Hello, World!»;
}
?>
0
а если условий несколько, то наверное получается что-то вроде:
if($condition)
{
// @todo write comecode
if($anotherCondition) {
// @todo write comecode
}
else {
// @todo write comecode
}
}
Это же читать невозможно!
if($condition)
{
// @todo write comecode
if($anotherCondition) {
// @todo write comecode
}
else {
// @todo write comecode
}
}
Это же читать невозможно!
0
Если речь идет о PHP, то есть рекомендованные стандарты кодирования от PEAR. Думаю, нужно понимать, чтобы код был читабельным для всех нужно работать по стандартам. А они уже есть.
+3
UFO just landed and posted this here
<?php echo isset($flag) ? "Hello World" : "" ?>
0
K&R стиль мне ближе всего, поэтому ни мог не заметить «ошибочки», пробелов не хватает. Вот так правильней:
<? php
if ($flag) {
echo «Hello world!»;
}
?>
<? php
if ($flag) {
echo «Hello world!»;
}
?>
+1
Несколько усложню вопрос, добавив блок else
В таком случае появляются дополнительные варианты расстановки фигурных скобок:
<? php
// так на строку короче:
if($flag) {
echo «Hello world!»;
} else {
echo «Hello world!»;
}
// или же так:
if($flag) {
echo «Hello world!»;
}
else {
echo «Hello world!»;
}
?>
лично мне предпочтительней второй вариант (блоки виднее) :).
В таком случае появляются дополнительные варианты расстановки фигурных скобок:
<? php
// так на строку короче:
if($flag) {
echo «Hello world!»;
} else {
echo «Hello world!»;
}
// или же так:
if($flag) {
echo «Hello world!»;
}
else {
echo «Hello world!»;
}
?>
лично мне предпочтительней второй вариант (блоки виднее) :).
+1
UFO just landed and posted this here
<?php
if ($flag){
echo(«Hello world!»);
}
?>
В одну строчку никогда ничего не сворачиваю.
+1
4
0
UFO just landed and posted this here
Например, в той же Zend Studio если нажать CTRL+ALT+F будет либо первый вариант, либо последний, который описал автор топика.
Все зависит от мест расстановки начальных {
Все зависит от мест расстановки начальных {
+1
Я пишу в K&R с комментариями:
<? if($flag){ echo "Hello"; }//if($flag) ?>
+1
<?php /* Когда всего одна строчка после условия */ if($flag) print "Hello"; /* Если же их несколько, то я пишу вот так. Пустая строка действительно повышает читабельность, по крайней мере для меня. */ if($flag) { print "Hello"; exit; } ?>
0
хех, имхо тут все зависит от того на чем человек пишет кроме пхп. Я например писал сначала на C/C++ под никсами, и использовал не ГНУ-стиль (по мне излишне громоздок), а максимально близкий ему стиль Алмана. Позже перейдя на пхп, использовал его же. Сейчас же пишу еще и на Яве (где нативным (как для языка, так и внутри наших проектов) является рациональный стиль), так что можно сказать сейчас я выбираю стиль для всего кроме Явы. Хотя ближе все равно стиль Аллмана, так как он гораздо читаемее на распечатках кода.
-1
Я пользуюсь рациональным стилем, с одним лишь отличием — пробел между условием и скобкой:
if($flag) {
echo «Hello world!»;
}
if($flag) {
echo «Hello world!»;
}
0
для if — первый вариант, для функций и классов второй
0
первый вариант
0
IDE настоятельно приучает меня к GNU-стилю.
0
Стараюсь писать как в выше приведённых ZendFramework'овских правилах, т.е.: скобки фигурные всегда должны быть, длинные строки оформляются так:
$str=«lllllllllllllllllllllllllllllasadsdsfdfgdffhfgh»
.«fffffffffffffffffffffffffffffffffffffffff»;
И ещё один иентересный момента: нет табуляции — да 4 пробелам.
$str=«lllllllllllllllllllllllllllllasadsdsfdfgdffhfgh»
.«fffffffffffffffffffffffffffffffffffffffff»;
И ещё один иентересный момента: нет табуляции — да 4 пробелам.
0
От Алгола пошел вариант написания скобок begin-end одна под другой с равномерной табуляцией содержимого блоков. К сожалению, разраработчики Cи традицию нарушили.
0
<?php
class MyExampleClass
{
/**
* @param integer $appleCount
* @return boolean
*/
public function isSatisfied( $appleCount = 0 ) {
if ( (int) $appleCount > 4 ) {
return true;
}
return false;
}
}
Вот какие-то такие мои карандаши.
0
UFO just landed and posted this here
Sign up to leave a comment.
Ваш стиль программирования