Иван Кузьмицкий писал(а):
...объявлять переменные "на ходу" удобно, потому что не надо париться про наличие спец.ящика для их объявления. Как только количество этих переменных начинает превышать десяток, а исходник не умещается на экране, попасть на тупую ошибку становится очень просто.
Назовите имя примера такой ошибки!
Появление "цикловых" переменных действующих только в области видимости цикла мы называем благом, а распространение этого же правила на остальные случаи - злом! Критерии определите их!
Я вам сказал, что мне не надо знать и забивать голову лишней инфой во время анализа (да и - написания) кода. Переменная появится в тексте только тогда, когда появляется потребность в ней. Вы опасаетесь "затенения" имён? Ну - ради Бога! Но, но почему-то для переменных цикла Ады мы в ладоши хлопаем, а для ординарных временных переменных кривим носиком... Проблема-то не в "затенении", а в отсутствии явного импорта в текущий контекст совокупности внешних переменных. В большинстве случаев мы просто идём на компромис, выбирая меньшее из зол... И выбираем "текстуально-очередное" расположение описаний переменных, обуславливающих их области действия.
Ну, или потребуйте существования опции компилятора, предупреждающей о совпадении имён переменных....
Иван Кузьмицкий писал(а):
Оно понятно, что профессионалы ошибок не делают.
Делают.
Иван Кузьмицкий писал(а):
Понятно так же, что рыночно продаваемые вещи отличаются как раз бОльшим набором всех этих удобств. На каждую частность найдётся готовый чих от авторов продукта, которые очень хотели сэкономить твоё время как разработчика.
Ну так проанализируйте и найдите золотую середину между поддержкой "правильности" в подходах и удобстве их реализации и сопровождения! Или для Вас "интеллисенс" - личный враг?
Иван Кузьмицкий писал(а):
Откуда берутся фантики и для каких целей - непонятно.
Для большинства из всех людей
Удобней камня молоток,
При забивании гвоздей. 