- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
// пример 1
a) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM {$prefix2}_{$module} WHERE id='$id' AND check_active=1 ORDER BY $order LIMIT $limit";
или же
b) $query = "SELECT id,text_name,textarea_desc,img_photo,date_reg FROM ".$prefix2."_".$module." WHERE id='".$id."' AND check_active=1 ORDER BY ".$order." LIMIT ".$limit;
// пример 2
c) $query = "INSERT INTO {$prefix2}_{$module} SET text_name='$name',date_add=NOW(),text_fio='$fio' WHERE id='$id'";
или же
d) $query = "INSERT INTO ".$prefix2."_".$module." SET text_name='".$name."',date_add=NOW(),text_fio='".$fio."' WHERE id='".$id."'";
Как-то некий посетитель этого сайта назвал a и с -- говнокодом. Интересно узнать Ваше мнение по этому поводу.
Желательно услышать хоть какую-то аргументацию, вместо пресловутых трольских комментов ))
Все переменные перед использованием естественно приведены к безопастному виду.
Ни о каких инъекций речь просьба не поднимать...
minisot 07.05.2010 11:19 # 0
Abductio 07.05.2010 12:49 # +1
minisot 07.05.2010 11:21 # +1
Death 07.05.2010 11:57 # −4
guest 07.05.2010 12:19 # −6
guest 07.05.2010 13:03 # 0
Че ты гонишь, у тебя все запросы такие. Тут еще никто не забыл, как ты фейлил в том треде.
Death 07.05.2010 13:09 # −4
guest 07.05.2010 11:25 # +2
Death 07.05.2010 11:57 # −6
guest 07.05.2010 12:19 # −5
Death 07.05.2010 13:09 # −10
cheef 07.05.2010 11:38 # 0
Death 07.05.2010 11:58 # −4
guest 07.05.2010 12:17 # +3
PS. Яхуею с отдельных личностей из аудитории говнокода, ты ни одного фреймворка не осилил?
Death 07.05.2010 11:57 # −7
guest 07.05.2010 12:17 # −2
Говно!!!
Abductio 07.05.2010 12:01 # +1
Это я так понимаю тег который заменяется {$prefics}? Почему что то тегами, а что то нет? Неудобно все это, но не смертельно конечно
Death 07.05.2010 12:03 # −2
Abductio 07.05.2010 12:05 # +3
Что то из переменных, а что то из тегов, ну тут вопрос удобства - я не знаю где эти теги могут быть зарыты.
Death 07.05.2010 12:21 # 0
Abductio 07.05.2010 12:45 # +1
Death 07.05.2010 13:18 # −3
А в том можно / нельзя / говнокод.
Vasiliy 07.05.2010 13:27 # −1
Death 07.05.2010 13:33 # −3
Death 07.05.2010 12:08 # −3
$prefix2 - это как-бы префикс с учётом языка
$module - имя текущего модуля.
а {} нужны из-за того, что-бы переменные считались разными, т.к.
$prefix2_$module -- не прокатывает ((
Abductio 07.05.2010 12:09 # 0
Vasiliy 07.05.2010 12:10 # +1
Death 07.05.2010 12:13 # −4
>> втором случае надо поменять кавычки все двойные на одинарные а одинарные на двойные.
Вот про это как-бы и вопрос был... ради чего это??? Типа для Выигрыша 1 миллиардной секунды???
Death 07.05.2010 12:18 # −6
Почему использование переменных в " является неприемлемым???
т.е. "... $name ..." недопустимо, а ' ... '.$name.' ...' - это уже признак хрошего тона...
Лично для меня первый вариант в 100 раз читабельнее, чем вариант к разорванными кавычками и конкатенацией
Abductio 07.05.2010 12:46 # +1
Death 07.05.2010 13:01 # −3
В Drupale вообще используются замены консткукций на переменные...
И вообще даже не чистый SQL, а надстройка над ним (для универсальности)...
Так что теперь считать что Drupal говнокод, т.к. можно быстрее это сделать???
Abductio 07.05.2010 13:09 # −1
Пишите как хотите, на самом деле, я пользуюсь одинарными кавычками за исключением тех случаев когда правлю чужой код или пишу для CMS. Если чужой код или CMS я пишу так как там уже написано чтобы не выбивалось из общего стиля.
Vasiliy 07.05.2010 12:52 # −1
Death 07.05.2010 12:57 # −4
Лично мне удобно использовать варианты a/c
guest 07.05.2010 13:20 # +3
Death 07.05.2010 13:32 # −6
Так что говно здеть пока только ТЫ.
guest 07.05.2010 13:35 # 0
Vasiliy 07.05.2010 13:38 # +1
Death 07.05.2010 13:40 # −3
Все технические переменные проверяются и в них всегда попадает только корректная информация.
guest 07.05.2010 13:44 # +5
Death 07.05.2010 13:47 # −7
И где ты тут видишь просьбы о "сжалится и напишет ему решение его же задачи за которую он бабло получает"...
Короче потеряйся...
guest 07.05.2010 13:49 # +5
Death 07.05.2010 13:51 # −6
guest 07.05.2010 13:55 # +1
Vasiliy 07.05.2010 13:55 # +2
Death 07.05.2010 14:04 # −4
leprosus 07.05.2010 12:46 # 0
Когда пользователь не может его читать, часто такой код называет говном.
Принципиальной разницы в запросах никакой!
Рассусоливать вопрос скорости обработки интерпретатора смысла нет, ибо наносекунды в разнице обработки - это уже чистой воды аутизм.
Из моего опыта: очень редко, кто пишет в стиле a) и c), и часто в b) и d).
Связано это с суровостью кодеров, которые пользуются простыми редактарами или вовсе текстовыми редакторами, которые переменные a) и c) не подсвечивают. Заставить использовать современные средства разработки таких товарищей невозможно. Вот они и негодуют, что им ничего не понятно.
Заключение: это не говнокод!
PS: подсветка кода в данном случае (ваш пример) не выполнена для переменных типа {$prefix} ...
Death 07.05.2010 12:56 # −4
Notepad++ вроде подсвечивает у меня все переменные и в {} тоже.
guest 07.05.2010 13:17 # 0
guest 17.05.2010 16:30 # +1
Abductio 07.05.2010 13:11 # +1
Death 07.05.2010 13:17 # −2
т.к. других причин у людей нету. им так сказали и поэтому всё остальное для них - говнокод.
mrbig66 07.05.2010 13:08 # 0
Death 07.05.2010 13:14 # −2
guest 07.05.2010 13:18 # 0
Death 07.05.2010 13:22 # −1
guest 07.05.2010 13:24 # −4
Death 07.05.2010 13:35 # −3
guest 07.05.2010 15:53 # 0
cfdev 07.05.2010 16:59 # −7
guest 08.05.2010 15:24 # −6
guest 07.05.2010 13:35 # 0
А если в проекте на производительность начинает критически влиять использование одинарных или двойных кавычек, значит, что с проектом уже давно что-то не то.
mrbig66 07.05.2010 17:14 # +2
— А, вот эти двое.
— Не-не-не-не-не, в рот мне ноги.
— Вопрос только про синтаксис.
— ГОВНО!!!111
guest 07.05.2010 17:19 # +2
guest 07.05.2010 18:25 # 0
Death 07.05.2010 17:22 # −5
guest 07.05.2010 17:34 # +2
Death 07.05.2010 18:29 # −4
В итоге оказалось, что одинарные кавычки на самом-то деле более тормознутее ))
Вариант с одинарными: 0.0143549442291 сек
Вариант с двойными: 0.0130221843719 сек
guest 07.05.2010 18:31 # +4
Death 07.05.2010 18:35 # −4
Но в данный момент пишу в основном сайты на PHP
guest 07.05.2010 18:39 # +5
guest 07.05.2010 18:40 # +5
Death 07.05.2010 18:42 # −5
guest 07.05.2010 18:53 # 0
Death 07.05.2010 18:56 # −5
Ты никто и звать тебя никак.
Исчезни, недоносок.
guest 07.05.2010 19:00 # +2
cfdev 07.05.2010 18:58 # +1
Death 07.05.2010 18:42 # −3
mrbig66 07.05.2010 19:32 # 0
А вообще это нанотехнологии.
Death 07.05.2010 19:36 # −2
minisot 09.05.2010 07:14 # 0
Говногость 09.05.2010 11:39 # 0
guest 07.05.2010 19:47 # +7
В обоих случаях написал двойные кавычки:
"SELECT id,text_name FROM ".$prefix2."_".$module." WHERE id='".$id."' ORDER BY ".$order." LIMIT ".$limit;
guest 07.05.2010 19:49 # +7
guest 07.05.2010 20:32 # +6
Death 07.05.2010 20:48 # −3
$query = 'SELECT id,text_name FROM '.$prefix2.'_'.$module.' WHERE id='.$id.' ORDER BY '.$order.' LIMIT '.$limit;
Вариант с одинарными: 0.0105130672455 сек
Вариант с двойными: 0.0089418888092 сек
guest 07.05.2010 20:55 # +4
tz-lom 07.05.2010 22:58 # +4
делай замеры чтобы шли хотя бы минуту,и тестируй с разными длинами строк
Death 08.05.2010 01:05 # −5
guest 08.05.2010 15:26 # +3
minisot 09.05.2010 07:07 # +2
Vasiliy 11.05.2010 07:39 # −1
HyperGeek 08.05.2010 04:12 # +2
Death 08.05.2010 12:38 # −4
Каким образом выводить строку - не важно.
This is obvious 09.05.2010 22:16 # −3