- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
for (const auto& item : items)
{
if (!item.isValid())
continue;
else
{
// 200 строк кода
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
for (const auto& item : items)
{
if (!item.isValid())
continue;
else
{
// 200 строк кода
}
}
Что делать с такими колегами?
Тип содержимого items неизвестен, перевести нельзя.
Рассказать им про «PHP».
Совсем другое дело!
1. of существует только в ES6, поэтому не поддерживается старыми браузерами.
2. in существует давно, но перечисляет не индексы массива, а все свойства объекта, включая встроенные, унаследованные от базового объекта, поэтому всё это лишнее дерьмо приходится отфильтровывать с помощью hasOwnProperty.
3. Метод forEach существует лишь для некоторых объектов: Array.prototype.forEach(), Map.prototype.forEach(), Set.prototype.forEach().
3а. Довольно популярный объект NodeList, имеющий отношение к DOM, это не массив, а неведомая хрень, реализующая интерфейс массива лишь частично, поэтому в большинстве браузеров метод NodeList.prototype.forEach() отсутствует (на текущий момент NodeList.prototype.forEach() реализовали только в «Webkit», что привело к появлению сайтов, работающих только в «Хроме» и в его клонах).
Кстати, грубый хак:
Ничего не забыл?
Кстати, они этот "DOM" с жабы спиздили?
Т.е. джаваскрипт это всё-таки скрипт для джавы.
Кстати, был веб-браузер «Hotjava», целиком написанный на «Java». Он полностью поддерживал «HTML3», в который входили элементы, которые пото́м удалили из «HTML» и перенесли в «MathML» и в «SVG» (не совсем точно, у некоторых элементов поменялись названия и синтаксис, но общая идея такая).
Можно написа́ть Pituh.prototype.forEach = Array.prototype.forEach; и течь.
Хвала прототипному погромированию!
http://blogs.perl.org/users/rurban/2014/04/do-not-use-each.html
Именно поэтому я против «each».
http://ideone.com/8DnET3
Просто не надо пользоваться устаревшим говном типа «each», которое за каким-то чёртом вытащили из «Перла».
Вот зачем функция each в «PHP»?
https://deti-i-knigi.livejournal.com/19709.html
https://deti-i-knigi.livejournal.com/17225.html
Кто найдет проблему, тому -- ничего.
Именно поэтому я за «чистые функции».
https://weekly-geekly.github.io/articles/457972/index.html
В boost все есть: https://www.boost.org/doc/libs/1_52_0/libs/range/doc/html/range/reference/adaptors/reference/filtered.html
А в С++20 будет и в стандарте (вместе с новыми "приколами" из-за ленивого вычисления).
Но тут не в том говно. Код вполне читаемый, там filter как пятое колесо будет (на "выебнуться").
Переведи на «PHP».
Тогда так:
http://ideone.com/4bsI7j
Хотя я мог и напутать, давненько я не брал в руки дотнета.
По сути тот же принцип, что и при построении сферы через октаэдр
Именно поэтому я за Ruby