На работе мы даем точки для удаления Withs от существующей кодовой базы Win 32 из-за дополнительного усилия, должен был поддержать код, который использует их. Я нашел несколько ошибок в предыдущем задании, где локальная переменная под названием BusinessComponent была замаскирована, будучи в С, начинают блок для объекта что опубликованное свойство BusinessComponent того же типа. Компилятор принял решение использовать опубликованное свойство и код, который означал использовать разрушенную локальную переменную.
я видел, что код как
С a, b, c, d делает {кроме, они - намного более длинные имена, просто сокращенный здесь) начинают меня: = xyz;
конец;
Это может быть реальная боль, пытающаяся располагаться, куда xyz прибывает из. Если это был c, я записал бы это как
я: = c.xyz;
Вы думаете, что это довольно тривиально для понимания этого, но не в функции, которая была 800 строками долго, которые использовали с прямо в запуске!
Мне еще предстоит увидеть аргумент против использования IB по причинам производительности, и, применив оба метода, я не заметил никакой разницы в любом случае. Для приложений с более интенсивным пользовательским интерфейсом я обычно не использую IB только потому, что с его помощью сложно создавать сложные настраиваемые представления. Поэтому на самом деле я предпочитаю использовать IB для более простых приложений и придерживаться прогамматического подхода для более сложных приложений. Этот подход, очевидно, также способствует оптимизации производительности.
Если оба метода могут быть полезны, я бы рекомендовал пойти по пути Apple; т.е. используя Интерфейсный Разработчик (IB). Вы получите меньше кода для написания (и меньше кода означает меньше ошибок, меньше обслуживания, меньше работы;)!), Лучше абстрагированный проект, вы будете гораздо более готовы унаследовать будущие плюшки от Apple (помните, какао-привязки ... ), и вскоре вы также станете более продуктивными.
Понимание того, что IB делает для вас (с помощью метода вашего брата), также является очень ценным знанием; так что если вы можете сделать и то, и другое в некоторых небольших проектах, сделайте это. (Как говорили другие, для сложных пользовательских интерфейсов это позволит вам иногда обойти это.) Но все же, в конце концов, я бы рекомендовал использовать IB.
Обязательно учите IB! Это того стоит и сэкономит вам несчетное время в долгосрочной перспективе. Затем используйте его, когда сможете. Когда вы не можете (высокая сложность), у вас всегда есть программный подход, но вам будет намного проще поддерживать свои перья (IB) по мере роста и старения вашего приложения.
Хотя Interface Builder - это старая программа, уходящая корнями в разработку NeXTSTEP, это все еще (IMO) элегантный способ создания визуальных аспектов программного обеспечения.
В этом интервью с Аароном Хиллегассом он говорит, что «Опытные программисты на Cocoa помещают большую часть умов своего приложения в файл NIB. В результате их проект имеет намного меньше кода»
.
And as we all know: "Less source code is better"