на сообразительность (для начинающих)

grigori

( ͡° ͜ʖ ͡°)
Команда форума
лет 15 назад мой учитель программирования на паскале на первых занятиях очень четко объяснял смысл декларации и инициализации переменных,
тогда компилятор просто оставлял мусор в неинициализированной переменной

люди просто не знают базовые принципы почему-то
 

AmdY

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

zerkms

TDD infected
Команда форума
ну и бред вы тут обсуждаете... :)
нет чтобы на собеседованиях просить спроектировать гостевую.
 

iceman

говнокодер
незнаю, скоко лет программирую, но $i++; только внутри цикла while использовал... перед этим есес-но пишу $i = 0; и все...

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

maxwell

artifex
О, возьму на заметку.
Тех кто отвечает правильно на работу брать нельзя.
 

DiMA

php.spb.ru
Команда форума
iceman

Ну, и зря это делаешь. В смысле, что правильно, но не обязательно. ++ с NULL (т.е. несуществующей переменной) работет как ожидается.
 

Alexandre

PHPПенсионер
А если тебе ответят "1", то какие выводы ты будешь делать о кандидате?
а как на счет встречного вопроса - а почему?

вообще - я такие вопросы на собеседовании не задаю,
у меня все собеседования проходят довольно просто и непринужденно: кандидат подробно рассказывает о своих предыдущих проектах, используемых в них решениях и его доли в проекте. По участию в проекте уже можно судить о потенциале кандидата и далее переходим (или нет к части 2).
Далее (часть 2) я ему даю кусок реального говнопроекта и прошу объяснить код - что в нем плохого, хорошего и как вообще это работает.
на все у меня уходит пол часа.

-~{}~ 01.07.09 10:32:

если не знать заранее правильного ответа, лучше действительно сказать, что инкрементировать bool вредно
кстати, при замене ++ на +=1 даёт 1
строчка $x +=1; приводится к (int) соответственно даст 1;
 

StUV

Rotaredom
остается только догадываться, зачем эта "недофича" была специально зафиксирована и задокументирована (вместо логичного "фикса" с приведением bool к int с последущим инкрементом)
 

Активист

Активист
Команда форума
DiMA
Имхо.. Инициализировать переменные нужно всегда, ибо хрен его знает, что в ней было до твоего первого вызова.

2all
С таким же успехом на собеседовании можно спросить про то, что будет результатом на каждой строчке
PHP:
$object = new profile_objects();
$object++;
$object =+1;
$object +=1;
и потом вые....ся, мол, "аааахххааа я та знаю".
Собеседование - это собеседование, это нужно понять как человек мыслит, может ли он решать задачи, работает или может ли работать в комманде, каким образом, пьет он или курит, а такого рода тесты - это ЕГЭ для бородатых дядь.
 

Krishna

Продался Java
и потом вые....ся, мол, "аааахххааа я та знаю".
Собеседование - это собеседование, это нужно понять как человек мыслит, может ли он решать задачи, работает или может ли работать в комманде, каким образом, пьет он или курит, а такого рода тесты - это ЕГЭ для бородатых дядь.
Читаешь мои мысли :)
 

Активист

Активист
Команда форума
Не знал куда с оффтопить, но поскольку в теме есть фраза (для начинающих)... то

Заметил я тут внизу страницы директ, ненавязчивый, как-то не замечаю его, а тут привлекла реклама

"90 видеоуроков на DVD и 4 готовых сайта на выходе! CMS Joomla!"
www.joomla-video.ru


Новый лозунг - "Сайт за день" меня просто .... (шокировал).

ЗЫ: и это рекламируется на сайте PHPClub'а :D)
 

DiMA

php.spb.ru
Команда форума
ВСЕГДА инициализировать переменные не нужно. Пример. Есть счетчик, который просто надо увеличить. По барабану что было записано до него. Делаем просто:

$a++;

Если следовать логике, что нужно всегда все инициализировать, то появится дополнительная мусорная строка кода, ничего не делающая:

if (!isset($a)) $a=0;
$a++;

И таких мусорных строк - сотни/тысячи по проекту. В иных важных случаях, конечно, нужно проверять и создавать.
 

maxwell

artifex
zerkms, Я на работу беру программистов, а не кодеров.

-~{}~ 01.07.09 12:19:

DiMA, интересно, что считает счетчик, если нам по барабану, что в нем записано перед инкриментом?
 

DiMA

php.spb.ru
Команда форума
просто признак изменения некого объекта
т.е. если число старое - все тихо спят и юзают кеш
если число изменилось - все полезли за апдейтом объекта
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Автор оригинала: DiMA
ВСЕГДА инициализировать переменные не нужно.
мыть руки перед едой тоже можно не всегда, но после улицы - очень желательно
так и переменные в секриптах для работы с пользовательскими данными инициализировать надо,
а в шаблонах и "домашних" скриптах можно и так пропустить

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

Фанат

oncle terrible
Команда форума
zerkms
ну вот че ты, как пьяный до столба?
чесслово
 
Сверху