Хороший тон

master_x

Pitavale XXI wieku
Хороший тон

Есть два вопроса:
1) несколько объявлений классов в одном файле: хорошо или плохо?
2) существуют ли негласные првила именования колонок в таблице (пример: служебные поля начинаются с символа "_", foreign key начинается с ":" и т.д.)
?
 

HraKK

Мудак
Команда форума
1) нет
2) нет, но когда вы начинаете разрабатывать то в обязательном порядке это систиматизируйте. Что б потом смогли легче понять. Названия классов, функций, переменных.
 

master_x

Pitavale XXI wieku
HraKK
это означает хорошо или плохо?
Названия классов, функций, переменных.
по-моему вы не поняли о чем я. я вам не про венгерскую нотацию а про колонки в таблице, которая принадлежит БД...
да и пожалуйста, если отвечаете на вопросы, аргументируйте.
 

HraKK

Мудак
Команда форума
1) плохо. Легче найти, легче выпускать следуйщие версии, избегаем мусорных свалок
2) Теже яйца только в профиль.
 

Gorynych

Посетитель PHP-Клуба
master_x

несколько объявлений классов в одном файле - плохо с точки зрения разработки и сопровождения, но более эффективно с точки зрения непосредственной работы готового приложения (можете обратиться к докладу Расмуса Лердорфа - http://talks.php.net/show/phpclub ). Так что при сборке релиза стоит объединять разрозненные файлы.

с другой стороны... семейство взаимосвязанных классов (например абстрактный родитель и его прямые потомки, или фабрика и ее классы) разносить по разным файлам не так уж и удобно. Возможно, стоит опираться не столько на формальную схему один класс == один файл, сколько на логику и архитектуру приложения в целом ("слой" работы с данными, "слой" ответственный за пользовательский интерфейс и т.п.). Но это - мое частное мнение.

негласные правила именования полей в базе данных существуют. Но я редко сталкивался с такими правилами на уровне MySQL. Люди работающие с СУБД типа MS-SQL Server или Oracle как-то более формализированы в этом вопросе.

опять же, с другой стороны (вот привязалось :) есть такое понятие, как метаданные и принятые для описания тех или иных сущностей стандарты. Например, inetOrgPerson - http://unix.org.ua/rfc/rfc2798.html Лично мне кажется более логичным использовать при описании подобных, стандартизированных сущностей, принятые обозначения (в общем-то довольно удобно ссылаться затем на нужный стандарт при интеграции с другим проектом. Всем становится понятнее ожидаемый набор полей). Надо заметить, что для таких, часто встречающихся в нашей работе понятий как "новость", "событие", "документ" и т.п. давно есть метаописания, признанные международным сообществом.
 

master_x

Pitavale XXI wieku
Gorynych
Возможно, стоит опираться не столько на формальную схему один класс == один файл, сколько на логику и архитектуру приложения в целом ("слой" работы с данными, "слой" ответственный за пользовательский интерфейс и т.п.). Но это - мое частное мнение.
В том то и дело что приглянулась идея разнеси все по пакетам. К примеру в пакете (файле) mvc будут описаны классы AppModel, AppView, AppController... и т.д.
 

HraKK

Мудак
Команда форума
master_x
Не думаю что это имено тот случай когда стоит, группировать классы.

Эти 3 класса представляют разные слои приложения, и даже если эти абстрактные( а я надеюсь что это абстрактные иначе ...:) )

Стоит групировать классы только тогда когда этот фаил будет независимым и завершенным решением чего-либо.

Gorynych

В MySQL нету негласных. При интеграции вполне достаточно соблюдать свои стандарты, и предоставить документацию.
Сейчас спешу, вечером более подробно объясню свою мысль.
 

BRat

o_0
master_x
Именно в таком контексте (AppModel, AppView, AppController), если классы тесно связаны между собой, то всё-таки можно вынести их в один файл, для удобства просмотра, если только они не слишком большие.
 

HraKK

Мудак
Команда форума
ИМХО.
Парадигма одна. Но она не завершенная, она имет множество классов наследников, выходящих за эти рамки. В таком случае, можно вносить в 1 файл например ядро CMF. Лично я бы вносил в 1 файл несколько классов только:
а) Законченное приложение, библеотека.
б) Реализация схожих задач лежащих в 1 слое.


BRat какая тесная взаимосвязь между ними? Что Вы вкладываете в это понятие?
 

BRat

o_0
HraKK
Только то, что эти классы зависят друг от друга и неотделимы. Класс Контроллера принимает данные от класса Модели и передаёт их классу Просмотра. Чтобы лучше ориентироваться в этом (повторюсь, если классы небольшие), стоит вынести их в один файл.
 

master_x

Pitavale XXI wieku
HraKK
Парадигма одна. Но она не завершенная, она имет множество классов наследников, выходящих за эти рамки.
ну так этих наследников можно в отдельные файлы. а сама парадигма и базовые классы, обеспечивающие её могут быть в одном файле. кстати, что такое библиотека по-вашему? вот дайте мне определение.
 

HraKK

Мудак
Команда форума
BRat ОМГ. Мы говорим про абстрактные классы. Или у тебя 1 класс контролера, модели, и вью?

master_x
Так что такое библиотека по моему или определение?
Библиотека например набор классов реализующие парсер XML, который я написал еще давно иногда только улучшаю изредка. Поэтому подключая 1 единственный файл в разные проекты, я подключаю слой работы с XML. Это как по мне удобно. Заметьте, если б я его делал конкретно под 1 проект, я бы разбил его на файлы.
 

HraKK

Мудак
Команда форума
Ohh My God

Предлагаю ознакомится с MVC. Потом продолжить дискусию.
 

BRat

o_0
HraKK
http://www.phppatterns.com/docs/design/archive/model_view_controller_pattern
Там внизу пример. Вот именно про это я и говорил, эти классы вполне можно поместить в один файл.
 

BRat

o_0
HraKK
утром пойму, сейчас я слишком много пива выпил для этого :)
 

master_x

Pitavale XXI wieku
HraKK
а чего продолжать? обсуждение ваших познаний в области ООП или ваше знание/незнание MVC? вопрос немного другим был.
 
Сверху