Как стать автором
Обновить

Обход областей видимости или неожиданное поведение функции EACH

Время на прочтение 2 мин
Количество просмотров 4K
PHP *
Никогда не понимал зачем в PHP функция each. Ведь есть foreach…
Но сегодня у меня «сломался» один участок кода, который жил шесть лет.
Там была конструкция с использованием each.
ошибка была исправлена секунд за 30 — давно думал исправить это все на foreach, но оставлял в качестве напоминания о том, какой индокод у меня был в свое время. Но просто исправить и пройти мимо я не мог.
Итак each против ООП:
1 — each игнорирует области видимости и спокойно выводит private свойства.
Читать дальше →
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 6

Области видимости в JavaScript

Время на прочтение 8 мин
Количество просмотров 42K
Блог компании RUVDS.com JavaScript *Node.JS *
Перевод
В JavaScript область видимости — это важная, но неоднозначная концепция. Области видимости, при правильном подходе к их использованию, позволяют применять надёжные шаблоны проектирования, помогают избежать нежелательных побочных эффектов в программах. В этом материале мы проанализируем различные типы областей видимости в JavaScript, поговорим о том, как они работают. Хорошее понимание этого механизма позволит вам улучшить качество кода.


Картинка по запросу «области видимости». Извините, если вызвали приступ ностальгии )

Элементарное определение области видимости выглядит так: это область, где компилятор ищет переменные и функции, когда они ему нужны. Думаете, что звучит это слишком просто? Предлагаем разобраться вместе.
Читать дальше →
Всего голосов 36: ↑29 и ↓7 +22
Комментарии 18

Области видимости и замыкания в JavaScript

Время на прочтение 7 мин
Количество просмотров 33K
JavaScript *
Туториал
Из песочницы
Данная публикация представляет собой перевод материала «JavaScript Scope and Closures» под авторством Zell Liew, размещенного здесь.

Области видимости и замыкания важны в JavaScript, однако они сбивали меня с толку, когда я только начинал их изучать. Ниже приведены объяснения этих терминов, которые помогут вам разобраться в них.


Начнем с областей видимости


Область видимости


Область видимости в JavaScript определяет, какие переменные доступны вам. Существуют два типа областей видимости: глобальная и локальная.


Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 12

Хитрый вопрос по JavaScript, который задают на собеседованиях в Google и Amazon

Время на прочтение 3 мин
Количество просмотров 114K
Блог компании RUVDS.com Разработка веб-сайтов *Занимательные задачки JavaScript *
Перевод
Привет Хабр! Есть один вопрос, с виду — не такой уж и сложный, который нередко задают разработчикам на собеседованиях.

Сегодня мы его разберём и поговорим о подходах к поиску ответа. Задавая вопрос, о котором идёт речь, интервьюер предлагает рассказать о том, что выведет примерно такой код:

const arr = [10, 12, 15, 21];
for (var i = 0; i < arr.length; i++) {
  setTimeout(function() {
    console.log('Index: ' + i + ', element: ' + arr[i]);
  }, 3000);
}

А вы знаете, что появится в консоли?
Читать дальше →
Всего голосов 59: ↑34 и ↓25 +9
Комментарии 51

Все, что вы хотели узнать про области видимости в Python, но стеснялись спросить

Время на прочтение 4 мин
Количество просмотров 53K
Блог компании OTUS Python *
Туториал
В преддверии старта нового потока по курсу «Разработчик Python», решили поговорить про области видимости в Python. Что из этого вышло? — Читайте в материале ниже.




Сегодня мы будем говорить о важных теоретических основах, которые необходимо понимать и помнить, чтобы писать грамотный, читаемый и красивый код. Мы будем вести речь об областях видимости переменных. Эта статья будет полезна не только новичкам, но и опытным программистам, которые пришли в Python из другого языка и хотят разобраться с его механиками работы.
Читать дальше →
Всего голосов 16: ↑10 и ↓6 +4
Комментарии 19

Новый поток в C++20: std::jthread

Время на прочтение 5 мин
Количество просмотров 8.4K
Блог компании OTUS Программирование *C++ *
Перевод

Один из участников моего семинара в рамках CppCon 2018 спросил меня: «Может ли std::thread быть прерван (interrupted)?». Мой ответ тогда был - нет, но это уже не совсем так. С C++20 мы можем получить std::jthread (в итоге все таки получили - прим. переводчика).

Позвольте мне развить тему, поднятую на CppCon 2018. Во время перерыва в моем семинаре посвященному параллелизму я побеседовал с Николаем (Йосуттисом). Он спросил меня, что я думаю о новом предложении P0660: Cooperatively Interruptible Joining Thread. На тот момент я ничего не знал об этом предложении. Следует отметить, что Николай является одним из авторов этого предложения (наряду с Хербом Саттером и Энтони Уильямсом). Сегодняшняя статья посвящена будущему параллелизма в C++. Ниже я привел общую картину параллелизма в текущем и грядущем C++.

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Комментарии 2

Что такое «Разделение ответственности» в коде

Время на прочтение 9 мин
Количество просмотров 6.6K
Блог компании Издательский дом «Питер» JavaScript *Программирование *Совершенный код *ООП *
Перевод

Машины Руба Голдберга «работают». А еще они неэффективные, хрупкие, их сложно изготовить и поддерживать. Поэтому написать код, который «просто работает» — очень низкая планка.

Многие не осознают, что написание кода во многом напоминает написание эссе или книги. Насколько же я был уверен, что умение писать эссе мне «в жизни не пригодится» - но позже я узнал, что писать эссе – значит гораздо больше, чем укладываться в число слов и соответствовать критериям оценки.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 5