Что мешает сделать блок циклов отдельной функцией и использовать старый добрый return?
По опыту — в большинстве случаев это можно сделать, а если действительно нельзя или слишком сложно — то такой код скорее всего пишет senior и он сможет корректно использовать тот же самый goto
из «глубин» можно бросить исключение, которое поймать на нужном уровне, сработает в аккурат как goto, но гарантирует корректность
а вообще — слишком большие функции, особенно когда нужны такие выкрутасы с несколькими вложенными циклами — зло и надо дробить (с учетом inline — проигрыша не будет), там и без goto вникнуть будет тяжко
Когда в коде есть goto — его намного сложнее векторизовать например для параллельной обработки, и прочие виды оптимизации.
Правило «goto-зло» имхо появилось не оттого, что оно действитльно зло, а потому, что в большой команде вместо того, чтобы каждому junior developer объяснять тонкости, проще его запретить и всем будет щастье
Ну про практическую применимость исо 100000 это вы перебрали, номинально — да, можно разогнать, но врядли картинку с такими шумами кто-то поставит в фильм. Плюс например у той же Red One выше исо2000 уже прилично плывут цвета.
Пленки с исо равным 400 — вообще почти не встречаются :) Самые популярные пленки — кодак 5201 и 5218 с исо 50 и 500 соответственно
Стандартный киношный генератор в грузовичке — 88 кВт, бывает по 100, если сцена масштабная — нужно несколько (см. например kinostar.ru/cars/special/light/ )
Хватает чтобы хорошо осветить средних размеров зал под день и нормальную скорость, либо большой под ночь, плюс потребности киногруппы в электричестве
Для макро — да, 4-6кВт хватит с запасом даже для такой скорости (если конечно вода кипеть не начнет от такой близости шестикиловаттника :) )
Но освещенность падает с квадратом расстояния и потребности в мощности растут очень быстро, если захочется не только каплю воды снять.
Например на ролике явно видно, что из-за недостаточной освещенности для съемки падающего чувака им пришлось уже хорошенько открыть диафрагму и задрать исо, что соответственно сказалось на ГРИП(а соответственно и точности фокусировки) и качестве картинки.
Для хобби все равно не очень актуально — в съемочном процессе камера это не самая дорогая составляющая.
Физику экспозиции никто не отменял — набрать нужное количество света для выдержки 1/2000с при обычной 1/50с (у кинокамер) либо вообще 1/25 для видео — очень непросто даже когда у вас есть генератор на 80 кВт и соответствующее количество осветительных приборов
Существуют методики верификации программ, например математическими методами — берется и доказывается как теорема, что код обладает нужными свойствами, например в PVS и аналогах.
Но дело это по многим причинам настолько редкое, муторное, долгое и дорогое, что применяется только для крайне важных программулин, например — прошивки систем жизнеобеспечения, где глюк может вызвать летальный исход.
По идее логику работы акселератора/тормозов тоже нужно верифицировать.
Интересная штука — вопросы на музыкальные темы, они могут быть как и дико выигрышными для компа, так и наоборот — все зависит от того как и какой аудио-поток будет подаваться. Например тот же shazam — на дух не переносит изменение темпа или другие диджейские действия над треками, но в то же время очень хорошо распознает записи, звучащие без изменений.
Это уже от машины зависит — если 64-битная платформа с соответствующим компилятором и little-endian, то int это 8 байт, и нолики там найдутся в старших разрядах
А вот с переносимостью такого кода — фигня-с™
Да, для конкретного стекла с поправкой на юстировку разницей можно пренебречь, вы правы
Речь была именно о той сумме разниц от F-stops и прочих девиаций, приводящих к тому, что при смене объектива приходится делать поправку вплоть до +2/3
Кстати проседание светосилы — это причина существования зумов с переменной открытой дыркой: на длинном конце отставание T от F настолько большое, что производителю совесть не позволяет ставить между ними равенство
Не много, большинство гуляет не более 1/6, хотя визуально уже можно заметить, особенно когда перекидывается со светосильного фикса на зум, для которого эта дырка максимальная. Благо легко убирается пост-обработкой и вылезает только в специфических случаях
Это зависит от конструкции затвора и вспышки. Во время импульса вспышки, если он один — весь кадр должен быть открыт.
У узкоформатных зеркалок затвор состоит из двух шторок и на коротких выдержках кадр открывается не полностью, а по нему пробегает щель, если в таком режиме фигакнуть вспышкой — будет засвечен не весь кадр, но это лечат делая вместо одного мощного кучу слабых импульсов, такой режим вспышки называется FP и в нем ее мощность проседает.
Бывают и другие варианты — например полуэлектронный затвор типа как ставили на Nikon D70 — там вторая шторка эмулировалась программно и действительно можно было пускать вспышку на более коротких выдержках без явных артефактов
Или затворы в объективе средне и крупноформатных камер — они устроены так же как и переменная диафрагма, только закрываются полностью, там тоже не будет артефактов, просто часть длинного импульса может обрезаться.
Стоило упоминуть такую штуку, как T-stops — аналог F-stops, только считаются не по относительному отверстию, а по пропускаемому свету и соответственно учитывают конструктив объективов.
Без них тяжело будет объяснить, почему с одной и той же экспопарой но разными стеклами — экспозиция будет гулять (проявляется только в ручном режиме)
Телефон может быть и внутри бомбы, плюс этот сценарий тоже можно предусмотреть — нет питания на телефоне — boom (достаточно рассказать носителю об этом, реализовывать не обязательно)
Есть сомнения, что идущие на такое хорошо разбираются в технике
По опыту — в большинстве случаев это можно сделать, а если действительно нельзя или слишком сложно — то такой код скорее всего пишет senior и он сможет корректно использовать тот же самый goto
а вообще — слишком большие функции, особенно когда нужны такие выкрутасы с несколькими вложенными циклами — зло и надо дробить (с учетом inline — проигрыша не будет), там и без goto вникнуть будет тяжко
Правило «goto-зло» имхо появилось не оттого, что оно действитльно зло, а потому, что в большой команде вместо того, чтобы каждому junior developer объяснять тонкости, проще его запретить и всем будет щастье
Пленки с исо равным 400 — вообще почти не встречаются :) Самые популярные пленки — кодак 5201 и 5218 с исо 50 и 500 соответственно
Стандартный киношный генератор в грузовичке — 88 кВт, бывает по 100, если сцена масштабная — нужно несколько (см. например kinostar.ru/cars/special/light/ )
Хватает чтобы хорошо осветить средних размеров зал под день и нормальную скорость, либо большой под ночь, плюс потребности киногруппы в электричестве
Для макро — да, 4-6кВт хватит с запасом даже для такой скорости (если конечно вода кипеть не начнет от такой близости шестикиловаттника :) )
Но освещенность падает с квадратом расстояния и потребности в мощности растут очень быстро, если захочется не только каплю воды снять.
Например на ролике явно видно, что из-за недостаточной освещенности для съемки падающего чувака им пришлось уже хорошенько открыть диафрагму и задрать исо, что соответственно сказалось на ГРИП(а соответственно и точности фокусировки) и качестве картинки.
Физику экспозиции никто не отменял — набрать нужное количество света для выдержки 1/2000с при обычной 1/50с (у кинокамер) либо вообще 1/25 для видео — очень непросто даже когда у вас есть генератор на 80 кВт и соответствующее количество осветительных приборов
Но дело это по многим причинам настолько редкое, муторное, долгое и дорогое, что применяется только для крайне важных программулин, например — прошивки систем жизнеобеспечения, где глюк может вызвать летальный исход.
По идее логику работы акселератора/тормозов тоже нужно верифицировать.
А вот с переносимостью такого кода — фигня-с™
Речь была именно о той сумме разниц от F-stops и прочих девиаций, приводящих к тому, что при смене объектива приходится делать поправку вплоть до +2/3
Кстати проседание светосилы — это причина существования зумов с переменной открытой дыркой: на длинном конце отставание T от F настолько большое, что производителю совесть не позволяет ставить между ними равенство
У узкоформатных зеркалок затвор состоит из двух шторок и на коротких выдержках кадр открывается не полностью, а по нему пробегает щель, если в таком режиме фигакнуть вспышкой — будет засвечен не весь кадр, но это лечат делая вместо одного мощного кучу слабых импульсов, такой режим вспышки называется FP и в нем ее мощность проседает.
Бывают и другие варианты — например полуэлектронный затвор типа как ставили на Nikon D70 — там вторая шторка эмулировалась программно и действительно можно было пускать вспышку на более коротких выдержках без явных артефактов
Или затворы в объективе средне и крупноформатных камер — они устроены так же как и переменная диафрагма, только закрываются полностью, там тоже не будет артефактов, просто часть длинного импульса может обрезаться.
Без них тяжело будет объяснить, почему с одной и той же экспопарой но разными стеклами — экспозиция будет гулять (проявляется только в ручном режиме)
Есть сомнения, что идущие на такое хорошо разбираются в технике
за кусок лого по идее ничего не будет — это ведь только угадывается, а не целиком включение