Именование называниекак процессили результат

Именование называниекак процессили результат

Именование называниекак процессили результат

Правила оформления PHP-кода



=== Скачать файл ===




















TM Feed Хабрахабр Geektimes Тостер Мой круг Фрилансим. Александр Романов x0rHamster full stack web- и c -разработчик. При разработке одной системы столкнулся с вопросом именования классов в сложных случаях. Собственно, вопрос заключается в следующем — по какому правилу именовать данные элементы? Несколько примеров классов, с именами которых возникает проблема прошу прощения за дурацкие примеры: Лилию, в принципе, можно использовать в качестве красивой фигни. Абстрактно — есть G, которая использует H; как назвать I, который ползволяет использовать B как H? Facebook Вконтакте Twitter Google. Ответы на вопрос 5 shagguboy shagguboy. Ответ написан более трёх лет назад. Я бы счастлив, но PHP 5. Написано более трёх лет назад. Это требование заказчика, и его изменить нельзя. Подумайте не о том как класы назвать, а о том как этим всем пользоваться. Подумайте в первую очередь об интерфейсах. В вашем случае, на мой взгляд, нужно частично отказаться от наследования и использовать стратегию. Для пораждения объекта использовать паттерн фабрика. Наследование здесь только самое что ни на есть простейшее, например, Response отражает абстрактный отклик, StaticResponse — отклик, тело которого задается в виде строки, и DynamicResponse — отклик, тело которого генерируется во время отправки самого отклика. Все остальное не наследуется, а всего лишь используется например, класс Response использует класс Cookie для объектного отображения печенек. Интересует именно именование, так как с использованием проблем нет. Могу дать конкретный пример: Я хочу добавить функцию использования в качестве рейтинга данных из тестирования. Как назвать этот получатель язык PHP? От какого Testing зависит последний получатель? Зачем дописывать Abstract в конце, если у класса в сигнатуре уже абстрактность? А получатель из Testing — он, разве, не принадлежит логически к самому модулю Testing? Если так — то почему бы его туда не поместить и не назвать: Извините, задумался и забыл ответить. Имя класса не будет влезать на строчку — критично для распечатанного исходного кода, да и читаемость убивает 2. А вообще, мне все равно кажется, что нормальным именем было бы: Если у вас технические проблемы и так сделать не получается — прийдется вам мучиться с непонятными длинными строками… что ж, повод преодолеть технические проблемы ;. Анатолий taliban php программист. Используйте неймспейсы, это избавит от уродских названий 3. Смотрел, сейчас пересмотрю еще внимательней. В Zend нет адаптеров между компонентами из разных систем, вроде модуля фреймворка, модуля чужого сайта и модуля собственной разработки, а мне они пока что нужны пока я не придумал решения лучше — см. Вот она-то и проблема: Меня это и натолкнуло на подобный вопрос. Значит куки вынесите в другое место, не относя к респонсу. Опять же, куда писать какой-нибудь Foobar, который используется ResponseDynamic и ResponseStatic которые оба наследуются от Response , но не используются самим Response? Вообще наверх, в Foobar? Сдался мелкий класс реализации на самом высоком уровне приложения. Забудьте Вы про наследование, что к чему относится?: Куки относится к респонсу? От же не относится к Response в прямом виде Response его не использует. Особенно учитывая, что зачастую это невозможно. Название класса должно кратко описывать сущность, а не говорить об особенностях внутреннего устройства. Прекрасно понимаю ваши слова про именование по смыслу. У меня создалось впечатление, что тут наследование перепутано с делегированием. Если у разных объектов, которые не участвуют в наследственности то есть по-хорошему комната и листок не должны иметь общих предков , должны быть общие методы — то тут есть несколько путей развития: А, если реализация простая, то для каждого супер-класса можно написать свою реализацию. Лучше классы называть понятно. Может стоит извратиться, написать небольшой скрипт, который сканирует файлы классов и создаёт массив: Можно такое сделать только для этой части проекта и зарегистрировать для него отдельный автозагрузчик. Не до конца понял вас. В моем примере наследование используется только в 3 случаях: Все остальное — использование: Ваш ответ на вопрос Войдите, чтобы написать ответ Войти через TM ID. Дизайн главной страницы сайта. Войдите на сайт Чтобы задать вопрос и получить на него квалифицированный ответ.

Описание отделов магазина

Как пишется пресс релиз

Где скачать сэмплы

Продажа автомобилей газель бу

Характеристика земляная змея

Причины неровной работы

Характеристика 1 го класса

Проблемы свидетельского иммунитетана стадии предварительного расследования

Косинус 2 альфа

Report Page