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

Поиск:

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


Эксперт
***


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

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



Цитата(bars80080 @  31.5.2009,  14:08 Найти цитируемый пост)
читаем выше, написал почему я отошёл от двойных 

Я почитал, единственная крайне субъективная причина "меньше чёрточек мельтешит перед глазами", всё остальное вообще с видом кавычек не связано(конкатенацию с двойными кавычками никто не запрещал применять).


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
bars80080
Дата 31.5.2009, 14:23 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(source777 @  31.5.2009,  14:13 Найти цитируемый пост)
ты не смешивай в одну кучу выбор вида кавычек и выбор между конкатенацией и интерполяцией, они не связанны совершенно. Да и длина строк не связана с выбором между конкатенацией и интерполяцией.

понятия не имею, что ты понимаешь здесь под интерполяцией.

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


Цитата(source777 @  31.5.2009,  14:13 Найти цитируемый пост)
Т.е. твой редактор не подсвечивал строки с двойными кавычками и интерполированные в них переменные? Смени редактор, он жестоко тебя ограничивает! 

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


PM MAIL WWW   Вверх
source777
Дата 31.5.2009, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(bars80080 @  31.5.2009,  14:15 Найти цитируемый пост)
не знаю лично ни одного кодера из C, который бы перешёл на пхп

А мы оказывается про кодеров говорим? Я то думал про нормальных программистов, которые язык выбирают под конкретную задачу, а не переходят с одного на другой.


Цитата(bars80080 @  31.5.2009,  14:15 Найти цитируемый пост)
я пишу $db->select($sql); и получаю нужный мне массив данных упорядоченный в нужном порядке, с нужным количеством строк, да ещё и залогированный если нужно

ну это тот же велосипед, только в профиль. Почитай про ActiveRecord.


Цитата(bars80080 @  31.5.2009,  14:15 Найти цитируемый пост)
имхо, если человек занимается одновременно разными направлениями, то если он не является гением
Да, нет я знаю много программистов, и не один из них не ограничивает себя одним языком.


Цитата(bars80080 @  31.5.2009,  14:15 Найти цитируемый пост)
то возникает вопрос о качественности его работы в отдельном направлении. именно по этой причине я не стал даже соваться в asp и .net, т.к. хотел всё-таки подняться над уровнем примитивов в пхп
Чем шире кругозор, тем выше уровень. На одном пхп на высокого уровня не достигнешь, скорее наоборот, слишком низкая входная планка не лучшим образом отражается на php-сообществе, даже крупные открытые проекты(типа CMS, форумов) порой выпускают такой быдлокод, что тошно в него даже заглядывать. Так что причина у тебя в корне неправильная. 


Цитата(bars80080 @  31.5.2009,  14:15 Найти цитируемый пост)
а при отдельныз разработках, то перестроится на другой синтаксис не представляет труда. мы же не пишем в пхп := , и при этом не испытываем никакого дискомфорта при переходе на другие системы? 

Я про это и написал: "синтасисы либо минимально отличались, либо кардинально", если брать пару Delphi - PHP, то различие в синтаксисе кардинальное,  а если С++ - PHP, то надо сводить различия к минимуму, т.к. кардинального отличия не получится, как не старайся.


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
bars80080
Дата 31.5.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(source777 @  31.5.2009,  14:16 Найти цитируемый пост)
всё остальное вообще с видом кавычек не связано(конкатенацию с двойными кавычками никто не запрещал применять). 

так бессмысленно её применять с двойными кавычками. мы же здесь не правила использования обсуждаем, а манеру кодинга человеком. зачем бить строку на части без нужды? а если она уже разбита, то у человека автоматом потянется рука нажать enter именно в этом месте

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

для машины пофигу как мы пишем, её даже лучше если будет меньше комментариев, пробелов, имена переменных короче...
всё это для удобства человеческого глаза.
PM MAIL WWW   Вверх
source777
Дата 31.5.2009, 14:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(bars80080 @  31.5.2009,  14:23 Найти цитируемый пост)
понятия не имею, что ты понимаешь здесь под интерполяцией.
Интерполяция - подстановка значений переменных в строку, вместо их идентификаторов, аля "val = $val" -> "val = 5". 
Это не я придумал так называть данный механизм smile

Добавлено через 1 минуту и 18 секунд
Цитата(bars80080 @  31.5.2009,  14:29 Найти цитируемый пост)
так бессмысленно её применять с двойными кавычками.
с чего это ты взял?



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
bars80080
Дата 31.5.2009, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(source777 @  31.5.2009,  14:28 Найти цитируемый пост)
А мы оказывается про кодеров говорим? Я то думал про нормальных программистов, которые язык выбирают под конкретную задачу, а не переходят с одного на другой.

а мы оказывается говорим про разные задачи? я думал в теме мы обсуждаем вэб-проекты основанные на пхп. это во-первых, во-вторых, если речь идёт не о крупной IT-компании, то я бы остерёгся обращать в компанию или даже одному человеку, где на дверях написано: сделаем всё. по причинам выше уже описанным
насколько я помню, google не занимается написанием контроллеров для станков?


Цитата(source777 @  31.5.2009,  14:28 Найти цитируемый пост)
ну это тот же велосипед, только в профиль. 

ну не знаю, если для тебя 

$db->select($sql)

и 
$s = $db->select($sql);
while($db->fetch_row($s)) {
   $b = ....
}
одно и тоже, то не знаю даже что и говорить


Цитата(source777 @  31.5.2009,  14:28 Найти цитируемый пост)
Чем шире кругозор, тем выше уровень. На одном пхп на высокого уровня не достигнешь, скорее наоборот, слишком низкая входная планка не лучшим образом отражается на php-сообществе, даже крупные открытые проекты(типа CMS, форумов) порой выпускают такой быдлокод, что тошно в него даже заглядывать.

вооот, а мне тут советуют озираться на "специалистов"


Цитата(source777 @  31.5.2009,  14:28 Найти цитируемый пост)
Почитай про ActiveRecord.

я особо читать не стал. что ты мне хотел показать, кроме того, что там человек пользуется одинарными кавычками?


Цитата(source777 @  31.5.2009,  14:28 Найти цитируемый пост)
Я про это и написал: "синтасисы либо минимально отличались, либо кардинально", если брать пару Delphi - PHP, то различие в синтаксисе кардинальное,  а если С++ - PHP, то надо сводить различия к минимуму, т.к. кардинального отличия не получится, как не старайся. 

это уже что-то из: я вижу разницу между #ccccc8 и #ccccca, а я нет

Добавлено через 3 минуты и 6 секунд
Цитата(source777 @  31.5.2009,  14:33 Найти цитируемый пост)
Интерполяция - подстановка значений переменных в строку, вместо их идентификаторов, аля "val = $val" -> "val = 5". 
Это не я придумал так называть данный механизм

не знаю, в моём понимании интерполяция - придумывание промежуточных значений на базе уже существующих. тоже не я придумал

и что ты хотел сказать? я и не заикался о замене
Цитата(source777 @  31.5.2009,  14:33 Найти цитируемый пост)
так бессмысленно её применять с двойными кавычками.
с чего это ты взял?

а зачем лишний раз разрывать строку, если переменная так и просится остаться внутри литерала?
PM MAIL WWW   Вверх
youri
Дата 31.5.2009, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата
но за пару недель полностью перестроился

Цитата(bars80080 @  31.5.2009,  14:15 Найти цитируемый пост)
а при отдельныз разработках, то перестроится на другой синтаксис не представляет труда. мы же не пишем в пхп := , и при этом не испытываем никакого дискомфорта при переходе на другие системы?

очень важные фразы, и не надо это оправдывать "удобнее чтобы их синтасисы либо минимально отличались, либо кардинально". Ведь если ты на чем-то пишешь, то в результате "перестраиваешься", вне зависимости с какого языка на какой перешел. Или на протяжении всей последующей жизни неправильные кавычки подтормаживают тебя при чтении исходников?

Цитата(source777 @  31.5.2009,  14:07 Найти цитируемый пост)
это исторически сложилось благодаря С++. Т.к. любой программист знает много языков, то ему удобнее чтобы их синтасисы либо минимально отличались, либо кардинально. Иначе возникает резкое снижение читабельности из-за интерференции различных синтаксисов

похоже за этим стоит серьезное научное исследование smile

Цитата(bars80080 @  31.5.2009,  14:08 Найти цитируемый пост)
читаем выше, написал почему я отошёл от двойных

а рядом причины использовать двойные кавычки

Цитата(source777 @  31.5.2009,  14:13 Найти цитируемый пост)
ты не смешивай в одну кучу выбор вида кавычек и выбор между конкатенацией и интерполяцией, они не связанны совершенно

для кого-то связаны

PM   Вверх
source777
Дата 31.5.2009, 14:49 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(bars80080 @  31.5.2009,  14:37 Найти цитируемый пост)
я думал в теме мы обсуждаем вэб-проекты основанные на пхп.
веб-проекты можно делать не только на пхп, поэтому надо чётко разделять понятия пхп-кодер и веб-программист, в этих понятиях крайне мало общего.


Цитата(bars80080 @  31.5.2009,  14:37 Найти цитируемый пост)
ну не знаю, если для тебя 

$db->select($sql) 

и 
$s = $db->select($sql);
while($db->fetch_row($s)) {
   $b = ....
}
одно и тоже, то не знаю даже что и говорить
В первом варианте обработка выборки прямо внутри select? шикарно  smile 
И то и то велосипед с квадратными колёсами, да ёще и raw-SQL на входе, ужос короче, лучше с подобным кодом дела не иметь. 

Цитата(bars80080 @  31.5.2009,  14:37 Найти цитируемый пост)
я особо читать не стал. что ты мне хотел показать, кроме того, что там человек пользуется одинарными кавычками?
Причём там кавычки? Тут выясняется, что ты велосипедами для общения с БД пользуешься, кавычки по сравнению с таким косяком вообще уже роли не играют.

Добавлено через 5 минут и 50 секунд
Цитата(youri @  31.5.2009,  14:44 Найти цитируемый пост)
для кого-то связаны
это их проблемы. Смысл в том, что использование тех или иных кавычек никак не должно входить в "Правила хорошего кода", это личное дело каждого и никакого улучшения читабельности при использовании одинарных кавычек нет, поэтому я против того навязывания одинарных кавычек, которое развернули в этой теме.



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
youri
Дата 31.5.2009, 14:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



итого, 3 точки зрения по поводу того, какие правила лучше
<погорячился>

Это сообщение отредактировал(а) youri - 8.10.2009, 22:41
PM   Вверх
source777
Дата 31.5.2009, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(youri @  31.5.2009,  14:44 Найти цитируемый пост)
похоже за этим стоит серьезное научное исследование smile
как ты догадался, оно ж секретное!


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
youri
Дата 31.5.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



откуда вообще вот это взялось?
http://framework.zend.com/manual/en/coding...ding-style.html
http://pear.php.net/manual/en/standards.php
http://drupal.org/coding-standards
http://tony2001.phpclub.net/doc/standard/
казалось бы придумали для php одни правила - так нет же, свои придумывают
пожалуйста, объясните зачем им каждому свои правила?  smile 
PM   Вверх
nerezus
Дата 31.5.2009, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

там так и написано, что "двойные кавычки для большинства читабельнее"?
 http://framework.zend.com/manual/ru/coding...le-substitution

Цитата

нет. объём чистого кодинга на модуль - максимум 100кБ, и то это был жуткий аврал и нафигачивания одной новой компоненты на другую, т.е. архитектуры вообще не было. а так 10-30 кБ
 Я не про модуль, а про проект.

Цитата

хм, интересно, что это за дикий кодинг в котором приходится работать с сотней файлов одновременно?
 ~20 файлов моделей, ~150 файлов шаблонов, ~30 модулей, ~50 файлов ядра и common, 2k+ файлов чужих библиотек, в которые тоже иногданадо залезть.
Естественно открыто ~7 файлов одновременно, остальные учавствуют в автодополнении кода и подсказках. 

Цитата

во-первых из-за такой банальности, что меньше чёрточек мельтешит перед глазами, во-вторых, кристально чётко отслеживается где переменная/константа/массив, а где литерал, также неожиданно перестроились строки кода.
 Черточки не изменятся. В двойных тоже все норм. В IDE.

Цитата

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

Цитата

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

Цитата

Смени редактор, он жестоко тебя ограничивает!
 +1. Бруно сожгли только за то, что он говорил людям, чтобы они не придумывали себе ограничений.

Добавлено через 9 минут и 3 секунды
Цитата

казалось бы придумали для php одни правила - так нет же, свои придумывают
пожалуйста, объясните зачем им каждому свои правила?
 Я пишу в .NET по Java style(слегка модифицированный K&R style) т.к. занимаемый код без потерь в читаемости занимает в 2 раза меньше места и за ним проще следить.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
bars80080
Дата 31.5.2009, 15:42 (ссылка) |  (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



Цитата(nerezus @  31.5.2009,  15:02 Найти цитируемый пост)
Я не про модуль, а про проект.

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


Цитата(nerezus @  31.5.2009,  15:02 Найти цитируемый пост)
~20 файлов моделей, ~150 файлов шаблонов, ~30 модулей, ~50 файлов ядра и common, 2k+ файлов чужих библиотек, в которые тоже иногданадо залезть.
Естественно открыто ~7 файлов одновременно, остальные учавствуют в автодополнении кода и подсказках. 

страх какой. т.е. выполнение одного клика пользователя вызывает движуху по нескольким сотням файлов?


Цитата(nerezus @  31.5.2009,  15:02 Найти цитируемый пост)
Черточки не изменятся. В двойных тоже все норм. В IDE.

уже отписался
Цитата(nerezus @  31.5.2009,  15:02 Найти цитируемый пост)
 Я пришел к тому же стилю, как и они. Так было удобнее. Я разделяю мннение большинства.
уже отписался
Цитата(nerezus @  31.5.2009,  15:02 Найти цитируемый пост)
Я знаю лишь одного программиста на C, который не перешел на другой ЯП.

забавно, порождает интересные размышления об избыточности изучения этого языка
Цитата(nerezus @  31.5.2009,  15:02 Найти цитируемый пост)
 +1. Бруно сожгли только за то, что он говорил людям, чтобы они не придумывали себе ограничений.
уже отписался

PM MAIL WWW   Вверх
Elfet
Дата 31.5.2009, 17:30 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Цитата(source777 @  31.5.2009,  15:49 Найти цитируемый пост)
Цитата(bars80080 @  31.5.2009,  14:37 Найти цитируемый пост)
ну не знаю, если для тебя 

$db->select($sql) 

и 
$s = $db->select($sql);
while($db->fetch_row($s)) {
   $b = ....
}
одно и тоже, то не знаю даже что и говорить
В первом варианте обработка выборки прямо внутри select? шикарно  smile 
И то и то велосипед с квадратными колёсами, да ёще и raw-SQL на входе, ужос короче, лучше с подобным кодом дела не иметь. 

Цитата(bars80080 @  31.5.2009,  14:37 Найти цитируемый пост)
я особо читать не стал. что ты мне хотел показать, кроме того, что там человек пользуется одинарными кавычками?
Причём там кавычки? Тут выясняется, что ты велосипедами для общения с БД пользуешься, кавычки по сравнению с таким косяком вообще уже роли не играют.

Что то тут я не очень понял? Что за велосипед? Я, например, DbSimple пользуюсь, там тоже на это похоже. А этот активрекорд, как мне показалось - шаг назад. 


--------------------
PM MAIL WWW Skype   Вверх
nerezus
Дата 31.5.2009, 17:34 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

страх какой. т.е. выполнение одного клика пользователя вызывает движуху по нескольким сотням файлов?
Да, а что?
Сейчас 2009 год, сервер арендовать на месяц дешевле, чем программисту день работы оплатить.
И, кстати, советую почитать что-то про оптимизацию ;)

Цитата

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

Update: http://rsdn.ru/article/philosophy/Optimization.xml

Это сообщение отредактировал(а) nerezus - 31.5.2009, 17:35


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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