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

Поиск:

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


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


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

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



Цитата

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

На спичка не сэкономишь, а конкатенация длинной строки твоим способом будет нечитаема.

Цитата

правила хорошего кода - как раз одинарных
 Да ну?
Zend Framework Documentation, пункт B.4.2.3.
Для подстановки переменных используются двойные.

Цитата

в двойных переменные видны гораздо хуже (не всякий редактор берёт)
 Пользуйся "невсяким". Или вообще IDE.
А так конечно можно сказать, что PHP какашка, так как его блокнот не подсвечивает.



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


Опытный
**


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

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



Цитата(bars80080 @  30.5.2009,  11:38 Найти цитируемый пост)
взгляд на эту проблему очень сильно зависит от того сколько вам приходится ворочать тонн чужого кода

я не имел в виду, что нужно писать как прийдется: стиль кодирования - это положительно, только лучшего нету

а в этой теме много субъективных моментов и ненужных оптимизаций, имхо

p.s. кроме того, тема то ли нечетко задана, то ли очень обширная. Правила хорошего кода касаются только оформления?
PM   Вверх
bars80080
Дата 31.5.2009, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



Цитата(nerezus @  30.5.2009,  14:05 Найти цитируемый пост)
На спичка не сэкономишь, а конкатенация длинной строки твоим способом будет нечитаема.

а я говорю наоборот

Цитата(nerezus @  30.5.2009,  14:05 Найти цитируемый пост)
Да ну?
Zend Framework Documentation, пункт B.4.2.3.
Для подстановки переменных используются двойные.

ну и кто они после этого?


Цитата(youri @  31.5.2009,  04:06 Найти цитируемый пост)
Правила хорошего кода касаются только оформления? 

главный критерий, то что твой код будет быстро и эффективно воспринят другим человеком
PM MAIL WWW   Вверх
youri
Дата 31.5.2009, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bars80080 @  31.5.2009,  09:21 Найти цитируемый пост)
а я говорю наоборот

и кто прав? (а спорим не подеретесь  smile )
PM   Вверх
nerezus
Дата 31.5.2009, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата

ну и кто они после этого?
 Здравомыслящие люди, а что?

Я как-то больше доверяю себе и создателям PHP, чем Васе Пупкину в твоем лице. Ничего личного, только профессиональное.

Понимаешь, ускорение кода на 0%(не забываем про кэширование байткода) с проигрышем читаемости - это плохо.
А если твоя IDE - блокнот, а не IDE - то это ТВОИ проблемы.


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


Опытный
**


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

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



Цитата(nerezus @  31.5.2009,  11:42 Найти цитируемый пост)
Понимаешь, ускорение кода на 0%(не забываем про кэширование байткода) с проигрышем читаемости - это плохо.

а откуда информация про читаемость (что читабельнее)?
PM   Вверх
bars80080
Дата 31.5.2009, 13:34 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



Цитата(nerezus @  31.5.2009,  11:42 Найти цитируемый пост)
Я как-то больше доверяю себе и создателям PHP, чем Васе Пупкину в твоем лице.

а я как-то больше доверяю личным наблюдениям, а не чужому мнению.
когда очередной раз здесь скидывают класс по БД с малопонятными конструкциями типа $db->fetch_row(), я спрашиваю себя, нафига вообще было писать такой код, который ни капельки не облегчает процесс написания? но все пользуются, я им не возражаю. но это не значит, что я должен брать тот же класс и юзать его
когда начинал, то у меня все скрипты писались на базе Котерова (его подключатель библиотек, его мейловый класс, класс работы с БД и прочее). постепенно я отказался от всего, даже от его dump, потому что находил (либо писал) более удачные, компактные и эффективные вещи.
может где-то проигрывали в универсальности, но зато без того абсурда, чем они изобиловали, увеличивая и время работы в разы, и нагружая БД, и не отдавая нужной эффективности

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


Цитата(nerezus @  31.5.2009,  11:42 Найти цитируемый пост)
Понимаешь, ускорение кода на 0%(не забываем про кэширование байткода) с проигрышем читаемости - это плохо.

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


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


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

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



Цитата

но все пользуются
 Скажем, только новички. Либо уже давно написано и отлажено, а пользуются по привычке.
Потому что уже есть куча стандартных ОО-вариантов.

Цитата

смысла в них вообще не вижу, если создание сайта у меня занимает всего 5 минут, путём копирования предыдущей версии. а далее дизайн, контент и размещение блоков. т.е. ничего общего с программированием на пхп.
 Никогда не приходилось писать 400кб кода на новый проект дописывать(естественно кроме них еще куча своих и чужихнаработок)?
Расскажи, как с сотнями файлов в блокноте работать ) Очень интересно ;)

Цитата

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


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


Опытный
**


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

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



и что мы видим? Правила оформления кода субъективны (большей частью) - кто к чему привык, вы сами это отлично продемонстрировали  smile

Цитата
Для тебя. Для всех остальных - иначе. Ссылка выше - подтверждение этого мнения 

там так и написано, что "двойные кавычки для большинства читабельнее"?

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


Эксперт
***


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

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



Цитата(bars80080 @  31.5.2009,  13:34 Найти цитируемый пост)
и использование двойных кавычек - проигрыш в читаемости кода 

С чего вдруг? Синтаксис PHP близок к синтаксису С++, следовательно всем людям знакомым с С++ будет гораздо легче читать код, в котором строки-литералы обрамлены двойными кавычками, а символы-литералы - одинарными. По той же причине лучше не использовать конструкции, включающие в себя : endif, : endforeach, etc. вместо {}.


Цитата(bars80080 @  31.5.2009,  13:34 Найти цитируемый пост)
не знаю что там из себя представляют IDE, всё что слышу о них порождает идею о пушке и воробьях. смысла в них вообще не вижу, если создание сайта у меня занимает всего 5 минут, путём копирования предыдущей версии. а далее дизайн, контент и размещение блоков. т.е. ничего общего с программированием на пхп.

Ну так если твоя работа вообще не связана с программированием на пхп, то с какой стати ты навязываешь своё мнение в теме, связанной с программированием на пхп? 

Цитата(bars80080 @  31.5.2009,  13:34 Найти цитируемый пост)
когда очередной раз здесь скидывают класс по БД с малопонятными конструкциями типа $db->fetch_row(), я спрашиваю себя, нафига вообще было писать такой код, который ни капельки не облегчает процесс написания? но все пользуются, я им не возражаю. но это не значит, что я должен брать тот же класс и юзать его
Ну тут 2 варианта, если ты вместо $db->fetch_row() используешь mysql_fetch_row(), то лучше бы тебе взять их класс и юзать его. А если ты вместо $db->fetch_row() используешь паттерн ActiveRecord, то смело возражай строителям велосипедов!





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


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



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

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



Цитата(nerezus @  31.5.2009,  13:42 Найти цитируемый пост)
Никогда не приходилось писать 400кб кода на новый проект дописывать(естественно кроме них еще куча своих и чужихнаработок)?

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


Цитата(nerezus @  31.5.2009,  13:42 Найти цитируемый пост)
Расскажи, как с сотнями файлов в блокноте работать ) Очень интересно ;)

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

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


Цитата(nerezus @  31.5.2009,  13:42 Найти цитируемый пост)
Для тебя. Для всех остальных - иначе. Ссылка выше - подтверждение этого мнения. 

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


Эксперт
***


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

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



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



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


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



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

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



Цитата(youri @  31.5.2009,  13:50 Найти цитируемый пост)
и что мы видим? Правила оформления кода субъективны (большей частью) - кто к чему привык, вы сами это отлично продемонстрировали  smile

Цитата
Для тебя. Для всех остальных - иначе. Ссылка выше - подтверждение этого мнения 

там так и написано, что "двойные кавычки для большинства читабельнее"?

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


Эксперт
***


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

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



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

ты не смешивай в одну кучу выбор вида кавычек и выбор между конкатенацией и интерполяцией, они не связанны совершенно. Да и длина строк не связана с выбором между конкатенацией и интерполяцией.


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


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


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



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

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



Цитата(source777 @  31.5.2009,  14:04 Найти цитируемый пост)
С чего вдруг? Синтаксис PHP близок к синтаксису С++, следовательно всем людям знакомым с С++ будет гораздо легче читать код, в котором строки-литералы обрамлены двойными кавычками, а символы-литералы - одинарными. По той же причине лучше не использовать конструкции, включающие в себя : endif, : endforeach, etc. вместо {}.

не знаю лично ни одного кодера из C, который бы перешёл на пхп


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

работа прямым образом связана с пхп, так как новые модули то писать надо. а моя ремарка относится к эффективности IDE


Цитата(source777 @  31.5.2009,  14:04 Найти цитируемый пост)
Ну тут 2 варианта, если ты вместо $db->fetch_row() используешь mysql_fetch_row(), то лучше бы тебе взять их класс и юзать его. А если ты вместо $db->fetch_row() используешь паттерн ActiveRecord, то смело возражай строителям велосипедов!

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

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

а при отдельныз разработках, то перестроится на другой синтаксис не представляет труда. мы же не пишем в пхп := , и при этом не испытываем никакого дискомфорта при переходе на другие системы?
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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