- 1
- 2
- 3
- 4
- 5
- 6
- 7
public function getBrandId() {
if (key_exists("id", $_GET)) {
return $_GET['id'];
} else {
return false;
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+150
public function getBrandId() {
if (key_exists("id", $_GET)) {
return $_GET['id'];
} else {
return false;
}
}
Писала значимая фигура студии, между прочим.
Lure Of Chaos 26.01.2012 22:52 # +6
Grockles 26.01.2012 22:57 # −5
Lure Of Chaos 26.01.2012 22:59 # +6
3xdimon 26.01.2012 23:25 # −2
return isset($_GET['id']) ? $_GET['id'] : false;
Nemoden 27.01.2012 06:03 # 0
vistefan 27.01.2012 16:44 # −4
ZX_Spectrum 27.01.2012 18:33 # +4
тернарный оператор для того и придумали, чтобы не расписывать на несколько строчек элементарные действия.
можно согласиться, если внутрь вставлены какие-то вычисления или вложенные тернарные операторы, но здесь не тот случай...
3xdimon 27.01.2012 19:30 # −1
Не надо показывать свою глупость
Во многих нормальных фреймворках такие операторы используются очень часто в столь примитивных потребностях
3xdimon 27.01.2012 19:37 # −1
function variable_get($name, $default = NULL) {
global $conf;
return isset($conf[$name]) ? $conf[$name] : $default;
}
nick4fake 29.01.2012 00:53 # +1
3xdimon 29.01.2012 09:10 # 0
Прежде чем давать такой комментарий, его необходимо обосновать.
Разве что значение NULL
Но на кой черт оно надо? Если нужен ID товара? Тип int.
nick4fake 29.01.2012 09:55 # 0
3xdimon 29.01.2012 14:05 # 0
Но сам смысл функции "getBrandId"
Получить ID бренда.
Возвращаемое значение должно быть INT
На кой хрен нужен NULL? Тут и FALSE прекрасно подойдет!
Код нужно писать по потребностям, а не потому что там может быть NULL, который нахрен не нужен на выходе этой функции.
Тогда если судить по логике что там может быть NULL надо писать
if (key_exists("id", $_GET) && is_numeric($_GET['id']) && ((int)$_GET['id'] > 0)) {
return $_GET['id'];
} else {
return false;
}
nick4fake 29.01.2012 14:13 # −1
3xdimon 29.01.2012 14:15 # 0
А вдруг не нужно чтоб возвращало 0?
А Идентификатор бренда или FALSE
k1011 11.02.2012 04:49 # −1
Lure Of Chaos 29.01.2012 09:51 # 0
nick4fake 29.01.2012 09:56 # 0
Lure Of Chaos 29.01.2012 10:02 # 0
guest 27.01.2012 00:20 # −5
guest 27.01.2012 07:41 # −4
непонимание типизации
неуменье пользоваться фрейм-ворками
и вообше значимая фигура в мире ПХП равно дебил
eth0 27.01.2012 12:46 # +2
if() return true; else if() return "ololo"; else if() return $arr; else if() return -1;
и в таком же духе. Это, очевидно, следствие злоупотребления объебосатами.
Что касается значимых фигур (ферзей штоле?), то, чаще всего, чем выше девелопер, тем больше у него моск рака.
striker 27.01.2012 03:38 # +2
Nemoden 27.01.2012 06:05 # +2
striker 27.01.2012 06:11 # 0
даешь function ake()
telnet 27.01.2012 06:19 # +4
php.net/array_key_exists
striker 27.01.2012 06:20 # 0
wvxvw 27.01.2012 20:07 # 0
Что будет в foo?
Vasiliy 27.01.2012 20:43 # 0
wvxvw 28.01.2012 00:22 # −1
Opo6ac 28.01.2012 13:00 # 0
ИМХО, довольно продуманный подход. С планами на будущее.
nick4fake 29.01.2012 00:51 # 0
nick4fake 29.01.2012 09:57 # 0
isset() вернет FALSE, если проверяемая переменная имеет значение NULL
С массивами это актуально
Lure Of Chaos 29.01.2012 10:06 # 0
так что в данном случае замечание несущественно.
хотя в общем случае это надо учитывать,да
nick4fake 29.01.2012 10:15 # 0
isset -> проверяет установку переменной
array_key_exists -> проверяет ключ массива
Не важно, что первый вариант короче. Нужно всегда использовать правильную функцию.
И да, из формы может прийти null. Если форма отправляется аяксом. А это очень часто происходит.
Lure Of Chaos 29.01.2012 10:26 # 0
меня обычно empty устраивает (да, 0 и "" тоже неинтересны)
guest8 09.04.2019 12:35 # −999