читаемость кода

gonza

Новичок
читаемость кода

Помимо правил оформления кода по каким критериям определяется читаемость кода.
И на какой уровень 'чтецов' стоит ориентироваться?

Например такой код

if( isset( $token_handlers[$token] )) $this->$token_handlers[$token]();

для меня легко читаем, кто как считает - это легко читаемый код?
И вообще насколько легко должен читаться код?
 

StUV

Rotaredom
gonza
если ты пишешь код дома, исключительно для себя - пиши в строчку
если в команде или твой код планируется в поддержке на других кодеров - посмотри (как пример) на Zend Coding Standart
 

gonza

Новичок
Автор оригинала: boombick
$this->$token_handlers[$token]();
Это считается трудночитаемым или какие то другие ньюансы?

-~{}~ 09.02.07 16:18:

из соседнего треда
PHP:
function &singleton()
{
	static $instance;
	if (!isset($instance)) {
		$class = __CLASS__;
		$instance = new $class();
	}

	return $instance;
}
и такой вариант
PHP:
function &singleton(){

	static $instance;
	$class = __CLASS__;

	return isset($instance) ? $instance : $instance = new $class();
}
Кто из них читаемей?

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

boombick

boombick.org
Это считается трудночитаемым или какие то другие ньюансы?
есть личная неприязнь к подобным конструкциям, да и читается тоже тяжелее, имхо...

из соседнего треда
второй вариант мне больше нравится =) А вообще, в конторах всегда есть собственные замечания по оформлению кода вдобавок к стандартам.. Я придерживаюсь стандартов PEAR в оформлении
http://www-eleves-isia.cma.fr/documentation/PhpDoc/pear.standards.html
 

AmdY

Пью пиво
Команда форума
мне тоже нравится PEAR-стандарт, за исключением замены табов пробелами. У меня как-то дизайнер поделал шаблоны с 2 пробелами вместо табов, я грязно ругался (везде использую 4 пробела), с табами бы такого не было бы.
 

Николас

Новичок
http://pear.php.net/manual/ru/standards.php

А да. Табы рулз. С ними в разных редакторах все равно не теряется организация!
 

boombick

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

Андрейка

Senior pomidor developer
boombick
и в разных редакторах как интерпретировать твои табы настраиваецца оч даже не сложно.. в отличие от 4х пробелов
 

boombick

boombick.org
Андрейка
а вот есть редакторы где не настраивается... :( И, к сожалению, приходилось встерчать такие редакторы в корпоративном стандарте... Названия щас не вспомню.. С тех пор и пошла привычка ставить 4 пробела
 

Фанат

oncle terrible
Команда форума
Кто бы ещё интернет эксплореру объяснил, что таб в восемь знакомест - это уродство.
PHP:
<?
function a() {
        foreach ($_POST as $v) {
                if ($v=="") echo $v;
        }
}
?>
 

phprus

Moderator
Команда форума
Фанат
Вы пишите или просматривайте код в интернет эксплорере?

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

Фанат

oncle terrible
Команда форума
просматриваю.
по 80 раз на дню. Вот сейчас как раз передо мной такой код на два сообщения выше
 

Gorynych

Посетитель PHP-Клуба
phprus

да ладно IE, а вот как "приятно" быстро подправлять скрипт прямо на сервере, глядя на погонные метры таболяций в редакторе ee из под FreeBSD... Вы наверное даже не представляете, да?
 

jonjonson

Охренеть
Я знаю одно, пробелы настраивать не нужно, а вот с табами не однозначно.

Код должен в любом редакторе быть виден таким, каким он изначально набран. Остальные настройки от лукавого.

Мне интересен другой вопрос. Многие под Windows в настройках MySQL выставляют lower_case_table_names=2 и в версии 4.1 и выше строчку default-storage-engine=INNODB закрывают #?
 

phprus

Moderator
Команда форума
Gorynych
Вы наверное даже не представляете, да?
Я практически никогда не исправляю скрипты сразу на сервере. ИМХО лучше все пару раз протестировать и только потом закачать обновленную версию на сервер.
 

StUV

Rotaredom
Код должен в любом редакторе быть виден таким, каким он изначально набран. Остальные настройки от лукавого.
ага
и без автоиндента херачить по н-цать пробелов в начале каждой строки
оригинально
 

Николас

Новичок
Нет. Иногда на сервере нужна миллиметровая правка, например неправильно указал сервер БД. На локалхосте этого не проверишь, и приходиться править на серве.
 

boombick

boombick.org
и без автоиндента херачить по н-цать пробелов в начале каждой строки
почему без автоиндента? о_О Мой вим вполне себе справляется с автоиндентом... Только по нажатию tab он ставит не символ табуляции, а 4 пробела... и дома. и на сервере...

-~{}~ 10.02.07 21:16:

Может табы и лучше и правильней, но я привык к пробелам.. вот.
 

jonjonson

Охренеть
boombick, табы не лучше и не правильней. Они издержка от исторического периода "засилия" терминалов. Там экономия в символах была нужна, а сейчас это пережиток.
 
Сверху