Richigo
Допустим, есть 100 кнопок button1..button100, и есть массивы данных, которые при определённых условиях должны взаимодействовать с определёнными кнопками, которые соответствуют позициям этих данных в массиве. То есть, хот5лось бы получить что-то на подобии перебора массива со ссылкой на ту кнопку (или другой объект), который, например, имеет такойже номер в названии, как и номер ячейки массива.
К номерам в названии нельзя привязываться. Когда такой код будет сделан, то будет невозможно переименовать кнопки в более удобные названия или вообще убрать названия у них и переместить их в массив какой-нибудь.
Richigo
Опять-таки, структура данных это лишние строки кода, даже, если они не используются постоянно
Это тебе кажется, что лишние строки кода - это проблема. Наоборот, проблема возникнет, когда у тебя будет короткий код в одну строчку. Когда надо будет что-то поменять или добавить, тебе придётся весь этот код стирать и писать заново с новой добавкой. Так надо будет делать каждый раз. А потом, когда таких кодов накопится несколько сотен штук, тебе придётся либо оставлять программу в старом виде всё время, либо всё время писать всю программу заново при любых мелких изменениях в её функциональности.
Представь просто машину, у которой колесо приварено, а не прикручено на болты и гайки. Если ты его проколол, то тебе надо будет выкидывать всю машину. Когда же существуют эти “лишние” болты и гайки, это колесо можно открутить и вместо него прикрутить другое колесо, новое, и ехать дальше сразу.
Такая же роль у этих отдельных структур, которые выглядят как бы лишними, но на самом деле спасут, когда потом надо будет количество кнопок увеличить или уменьшить. Никакие имена кнопок на данные и порядок этих данных влиять не будут, так как сопоставление кнопок и данных лежит на этой структуре и находится внутри неё в виде её секрета.