Comments 8
Назвать конференцию именем главного антипаттерна программирования — сильный ход))
По моему это как раз тот случай, когда ради более компактного/оптимального опкода автор написал некрасивый (e.g. менее прозрачный, чем можно было бы) код.
function retry($retries, callable $fn)
{
do {
try {
return $fn();
} catch (\Exception $e) {
$retries--;
}
} while ($retries > 0);
throw new FailingTooHardException('', 0, $e);
}
Я специально использовал постусловие, чтобы получить функционально идентичный результат, хотя как по мне, retry(0, function() { ... } )
и даже retry(1, function() { ... } )
должно кидать исключение "Алё, какой смысл? Там должно быть хотя бы "2"!".
Наш мозг функционирует иначе в условиях переключенного контекста. На Курсере есть отличный курс "Learning how to learn", там приведён пример, что ученики запоминали материал лучше, если его давали в одном месте (аудитории), а потом повторяли в двух других (актовом зале и на улице).
И наоборот: в одном и том же контексте мы намного хуже воспринимаем новые идеи. С этим можно бороться, но надо знать как и обладать нефиговой самодисциплиной.
А так сегодня компания отправляет человека узнать много нового за условную $1000, а в течение года после этого он заработает/сэкономит компании условные $10000, применив эти новые знания. А ролики на YouTube он посмотрит в метро по дороге домой, получит свою дозу дофамина — и всё это канет в Лету.
Ну и не стоит путать тёплое с мягким. IT-работодатели дают много плюшек, которые «взять деньгами» просто нельзя. Ибо совсем не то ощущение и не тот результат. Да и не нельзя всё сводить к деньгам. Помимо денег многие инженеры хотят получать знания, новый опыт и эмоции.
GOTO Amsterdam