Краткий ответ: Нет, вы не плохой программист из-за этого :) Нет также веских причин не писать код таким образом; большинство программистов просто ленивы или никогда не писали изнурительный метод за всю свою жизнь.
Длинный ответ: Технически, когда вы обращаетесь к переменной без «self->», компилятор сначала ищет переменную с таким именем в локальной области видимости, и если он не может ее найти, он повторяет этот поиск с переменными экземпляра. Если он найдет там попадание, он фактически сгенерирует код, как если бы там было написано «self -> ...». Если не было совпадения для переменных экземпляра, компилятор попытался бы в глобальной области видимости.
Большинство программистов читают только свой собственный код, и они очень хорошо знают, что такое переменная экземпляра, а что нет. Когда вам когда-либо приходилось работать с кодом, который вы сами не написали, когда метод имеет длину в 4 экрана (а у меня экран bigg), вы очень благодарны, когда программист прояснил это при каждом доступе к переменной: это переменная? параметр, передаваемый в вызов метода, локальная переменная этого метода, переменная экземпляра объекта или, возможно, глобальная переменная (только глобальная для всех экземпляров этого класса или, возможно, глобального приложения). Вы благодарны, потому что, если есть только несколько переменных с похожим именем и без специального имени или шаблона доступа, но различного типа, вы довольно быстро теряете контроль. И полагаться на тот факт, что подсветка синтаксиса XCode выделяет переменные экземпляра не так, как локальные переменные, также глупо, потому что ни один программист не вынужден редактировать код в XCode для начала, и даже если он это делает, он может иметь цветовую схему, где экземпляр переменные имеют тот же цвет, что и локальные.
Доступ к переменным экземпляра через self-> - это прекрасно, но подумайте также о том, чтобы, возможно, использовать префикс / суффикс, который также прояснит, что это переменные экземпляра, а также позволит избежать конфликтов имен с параметрами метода или локальными переменными.