[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: стили кода
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
twin
glock18
Я не понял, ты же сам писал поправки.
А что за листинг ты безобразный в пример привел, не понял вдвойне. Я лично это написал бы так:

PHP
<?php
  
    if
($a)
    {
      echo $a;
    
        if
($b)
        echo $b;
        else
        echo $a 
. $b;
    
      $b 
= $a * 2;
    
      echo $a 
+ $b;
        
        if
($c)
        echo $c;
    }

А на счет велосипедостроения - задолбали если чесно. Какой идиот придумал эту фразу... Если бы велосипед до сих пор не изобретали, то не было бы ни горных, ни спортивных ни тандемов и так далее. Так и катались бы на том первом, деревянном.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Michael
twin Вот и появились отступы в if, но делись куда-то скобки tongue.gif

_____________
There never was a struggle in the soul of a good man that was not hard
glock18
Насчет стандарта расстановки скобок по Пеар и Зенд. Их употрибетелям или поклонникам:

Они радуют глаз и красивы. Подумать только, мы пишет блок if со скобочками и он занимает вместе с ними каких-то 2-3 строки. Как это красиво. Не то что при использовании того самого ужасного стандарта, когда скобки пишутся на отдельной строке.

Однако это красивый стандарт имеет минусы:
1. Их красота отнюдь не повышает читаемость начала и конца блока. Она сильно понижает читаемость тем, что соответствующие скобки находятся не на одном уровне.

2. Стремление понизить количество строк кода таким вот способом очень ВРЕДНО. Компактность кода и количество строк можно до идиотизма уменьшать, обфусцируя код, укладывая его в одну строку. Станет ли он лучше от этого? Многие забывают о том, что для того, чтобы сделать код реально компактным, нужно уменьшать не количество строк кода, а количество логических шагов в реализации.

Очень важно ВСЕМ кто ХОЧЕТ научиться писать эффективный и красивый код, не прибегая к таким вот "читерским шагам", добиваясь его красоты:

Каждый блок if, while и т.п. обязательно пишите со скобками, независимо от того, сколько строк в блоке. Скобки всегда на своей отдельной строке

PHP
if ($a != 2
{  
    
$a 2
}


Один такой блок уменьшает красивость кода ооочень сильно. А вложенные - тем более. И вот теперь ищем пути избавить код от вложенных условий и от просто лишних условий.
twin
Цитата
twin а как в вашей конструкции записывается вложенный if?

Действительно нету... Так значит и в зенде нету, от туда же всё. Я упустил, потому что мои рекомендации давно уже тут висят, я считал это само сабой разумеещееся явление. Щас допишу.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
twin
Цитата
Каждый блок if, while и т.п. обязательно пишите со скобками, независимо от того, сколько строк в блоке. Скобки всегда на своей отдельной строке

Категорически не согласен. Скобка - символ блока. Если она есть, я автоматом ищу следующую инструкцию. И код по высоте расползается...

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
glock18
Цитата
Я не понял, ты же сам писал поправки.
А что за листинг ты безобразный в пример привел, не понял вдвойне. Я лично это написал бы так


я же и написал выше, что счел это просто за "съехало при вставке".

А насчет приведенного кода, так он не задокументирован вовсе. Плюс появились полуотступы какие-то.

Насчет велосипеда, я ведь не говорю, что улучшать не надо. Улучшать надо и всегда. С нуля придумывать не надо.

В общем то, глупо спорить о вкусах и привычках. Даже в мыслях нет переубедить кого-либо.
twin
Цитата
twin Вот и появились отступы в if, но делись куда-то скобки

Отступы только для вложенных ифов и инструкций в скобках. Если инструкция одна, не нужно ни скобок ни отступов, вот я что имел ввиду.
Цитата
А насчет приведенного кода, так он не задокументирован вовсе. Плюс появились полуотступы какие-то.

Я же сразу написал, что это только рекомендации, а не стандарт вовсе. Мне лично нравится с двумя пробелами писать а не с четырьмя, по этому тебе и кажется это полуотступами.
Цитата
С нуля придумывать не надо.

Так а кто придумывал... Это же подработанный копипаст с зенда.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Nikitian
Про отступы вообше постоянно идут споры как удобнее. Свой стиль выработался самостоятельно, писал всегда так, как имхо удобнее разобраться какой блок к какому относится. Такое ощущение, что больше никто так отступы не ставит:
PHP
<?php
if($a==$b)
    {
    
//Здесь какой-то большой блок
    
}
if(
$b!=$c)
    
$b=c;//Так оформляю однострочный результат

И так со всеми операторами: if-else, for-foreach-while-do
Свичи чисто под себя и используемый редактор оформляю так, чтобы можно было любой блок легко обнаружить:
PHP
<?php
switch($a)
    {
    case 
1:
        {
        
        }
        break;
    case 
2:
    default:
        {
        
        }
        break;
    }
Независимо от операнда везде ставлю бряки, т.к. сегодня это default, а завтра очередное условие и забытый бряк = большой проблеме с поиском логической ошибки.
Короче, скобочки всегда на одной линии. А вот использовать пробелы вместо табуляции не вижу смысла: один раз жмякнуть таб куда проще, чем отсчитывать 4 пробела и заработать на этом нервный тик.
Абажаю подчёркивания в названиях функций и ненавижу смесь из заглавных и строчных символов. Тут вступает правило логичной лени:
1. Запомнить название функции проще, чем запоминать где стоят заглавные символы, а где строчные
2. Визуально легче определить тип функции, если она написана с подчёркиваниями, нежели мешанину из сплошных символов. Если бы я был норвежцем или финном, то мне бы наверно было бы привычно использовать нцатисимвольные слова, но я русич: умею лаптем щи хлебать и обращаться с большими словами не обучен.

Наверно на мой синтаксис повлияло то, что никто не влиял: специально программированию нигде не обучался, но много изучал и эмпирически доказывал для себя. Отсюда и стиль, удобный, быть может, только мне ))
twin
Цитата
А вот использовать пробелы вместо табуляции не вижу смысла: один раз жмякнуть таб куда проще, чем отсчитывать 4 пробела и заработать на этом нервный тик.

Смысл в том, что табулятор разные редакторы читают по разному. И код плывет. Если есть функция замены табулятора на пробела, то непроблема и раз жамкать. Тут не про стили писания smile.gif речь, а про стиль кода.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
waldicom
половина написанного тут - херня

_____________
Свои мозги еще никто не отменял.
Телепатов нету.
Nikitian
Цитата (waldicom @ 15.09.2009 - 19:44)
половина написанного тут - херня

Всё написанное тут имхо авторов.
Цитата

Смысл в том, что табулятор разные редакторы читают по разному

Но относительность положений сохраняется.
twin
waldicom
То, что ты написал, в какую половину относится? biggrin.gif Напиши умное что нибудь.

Nikitian
Цитата
Но относительность положений сохраняется.

В том то и беда, что нет.

Цитата
Абажаю подчёркивания в названиях функций и ненавижу смесь из заглавных и строчных символов.

Тут я с тобой полностью солидарен. Наверно стоит вообще убрать этот пункт.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
FatCat
Цитата (Nikitian @ 15.09.2009 - 23:06)
чтобы можно было любой блок легко обнаружить

Для себя оформляю так, чтобы подогнав горизонтальной прокруткой открывающую скобку к рамке экрана, видеть блок кода, и видеть чуть выше условие или цикл:

_____________
Бесплатному сыру в дырки не заглядывают...
Michael
Цитата (twin @ 15.09.2009 - 19:51)
waldicom
То, что ты написал, в какую половину относится?  biggrin.gif  Напиши умное что нибудь.

Поддерживаю.
Все таки если читать Правила на форуме тут сидят
вот такие пользователи:
user posted image
а не такие:
user posted image


_____________
There never was a struggle in the soul of a good man that was not hard
sergeiss
Относительно табуляций... Я тоже предпочитаю их использовать rolleyes.gif Но знаю, что в разных редакторах может быть разное отображение.
Особенно в C++Builder бывало. Там можно настроить, скольким пробелам равна табуляция. И вот открываю какой-нибудь старый проект, т.к. помню, что именно там делал кое-что, что мне надо сейчас. А там всё форматирование "плывет". Потому что раньше я использовал 1 ТАБ==8 пробелов, а сейчас == 4 пробела.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.