<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Alto Coding Style / Блог им. andreyv / Alto CMS</title>
			<link>http://79.174.14.219/comments/336/</link>
			<description><![CDATA[Тихой сапой начал создавать документ с громким названием «Alto Coding Style» — правда, пока только начал с системы именований. Такую]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Alto Coding Style (comment #5507)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5507</guid>
					<link>http://79.174.14.219/336.html#comment5507</link>
					<author>elena.shemarova@gmail.com</author>
					<description><![CDATA[Респект!]]></description>
					<pubDate>Sat, 21 Sep 2013 13:40:45 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5508)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5508</guid>
					<link>http://79.174.14.219/336.html#comment5508</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[Отлично! И название совсем не громкое, а вполне себе нормальное, как и должно быть. Зенды, правда, подобный документ называют Standard, но мы не будем так жестко, пусть будет Style, т.е. не жесткий стандарт, а рекомендуемый стиль.<br/>
<br/>
Теперь по существу: все ж префикс переменной указывает на ее тип, а у мепперов и сущностей тип — <strong>object</strong>. Поэтому вводить специальные префиксы «e» и «m» вряд ли стоит, пусть для объектов будет только «o». Но можно допустить использование двойного (расширенного) префикса типа, если сильно хочется — «oe», «om». Тогда человек, не знакомый даже с документом, но знакомый с венгерской нотацией и типами данных в PHP, легко может догадаться, что это экземпляр объекта.]]></description>
					<pubDate>Sat, 21 Sep 2013 14:19:04 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5511)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5511</guid>
					<link>http://79.174.14.219/336.html#comment5511</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[В комментариях к прошлой статье <a href="http://altocms.ru/profile/extravert/" class="ls-user">extravert</a> сказал, что для составных префиксов еще не время, и я с ним согласен. Сущности используются очень часто и писать две буквы вместо одной хуже.<br/>
<br/>
По поводу разработчиков — если будет неопытный разработчик — то он, независимо от документа, будет давать имени $s1, $l67 по ему ведомым причинам, опытный разработчик, полюбому, ознакомится с общедоступной документацией.<br/>
<br/>
На счет мапперов (тоже меня опередили) — я пишу статью по стилю кодирования мапперов и вот цитата -«Каждый маппер имеет одну основную таблицу БД с которой он работает». Вторая циатата «Имя маппера состоит из префикса m и имени таблицы БД, представленной в горбатом регистре.»<br/>
<br/>
Исходя из архитектуры LS, модуль может иметь много мапперов — я предлагаю оставить за каждым маппером свою таблицу. (Перекрёстные запросы пока обдумываю)]]></description>
					<pubDate>Sat, 21 Sep 2013 15:34:09 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5513)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5513</guid>
					<link>http://79.174.14.219/336.html#comment5513</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>В комментариях к прошлой статье extravert сказал, что для составных префиксов еще не время, и я с ним согласен. Сущности используются очень часто и писать две буквы вместо одной хуже</blockquote>Ну так что у нас в префиксе? Тип? Или не тип? Очень не хочется мешать в кучу типы и классы<br/>
<br/>
<blockquote>я предлагаю оставить за каждым маппером свою таблицу</blockquote>Хм, неожиданно. Но пока не вижу серьезных резонов для такого шага]]></description>
					<pubDate>Sat, 21 Sep 2013 15:46:24 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5514)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5514</guid>
					<link>http://79.174.14.219/336.html#comment5514</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Получается, что у каждого модуля может быть куча сущностей, но все они пользуют один маппер. Нужно определиться — маппер своим функционалом обеспечивает сущность или модуль. Если модуль, то почему маппер представляет собой свойство модуля, как доп. объект, а не является частью его функционала напрямую через методы?<br/>
<br/>
Вводя требование mapper-таблица я могу объяснить:<br/>
 — принципиальную возможность многих мапперов;<br/>
 — отдельную папку для одного-единственного файла маппера;<br/>
 — префикс m — как тип свойства (свойств с этим типов может быть моного).<br/>
<br/>
Если маппер обеспечивает модуль — нет вопросов.<br/>
Если маппер обеспечивает сущность — нужно делить.]]></description>
					<pubDate>Sat, 21 Sep 2013 15:57:40 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5518)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5518</guid>
					<link>http://79.174.14.219/336.html#comment5518</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>маппер своим функционалом обеспечивает сущность или модуль</blockquote>Модуль, никак не сущность. И очень важно понимать, что сущность, в общем случае, никак не эквивалентна одной записи в физической таблице. В ее основе — набор связанных данных, которые могут быть получены из множества записей множества источников данных (не только таблиц базы данных), в т.ч. и генерируемые по запросу.<br/>
<br/>
<blockquote>Если модуль, то почему маппер представляет собой свойство модуля, как доп. объект, а не является частью его функционала напрямую через методы?</blockquote>Самый простой ответ — так исторически сложилось. :) Не могу сказать наверняка, какая первоидея лежала в разделении, но могу предположить, что изначально задумывалось в модели (как она формулируется в MVC) абстрагировать функционал получения данных из источника с тем, чтобы можно было в перспективе использовать различные способы хранения и извлечения данных — SQL, noSQL, XML, etc.]]></description>
					<pubDate>Sat, 21 Sep 2013 16:38:02 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5521)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5521</guid>
					<link>http://79.174.14.219/336.html#comment5521</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Да, сущность ни в коем разе не является эквивалентом записи, но тут есть такая двойственность логики: Сущность получается ядром CMS от массива данных<br/>
<pre class="prettyprint"><code>$aTalks[]=Engine::GetEntity('Talk',$aRow);</code></pre><br/>
Ровно также сущность может быть получена от любого массива, но по факту используется от записи таблицы!<br/>
<br/>
В отношении сущности маппер — конструктор сущности.<br/>
<br/>
В отношении модуля маппер — поставщик данных.<br/>
<br/>
При разделении маппера по таблицам можно конкретизировать поставщика данных для модeля ($mUser, mBlogUser) и поставить однозначное соответствие сущности.<br/>
<br/>
Я согласен, что сам маппер, по сущности своей, просто средство связи между БД и другими объектами — какими бы они не были, но так как маппер работает с таблицей, то, на мой взгляд, удобнее было бы разделить код. Это бы уменьшило объем кода в мапперах (и увеличило количество фалов), но сделало бы архитектуру более прозрачной.]]></description>
					<pubDate>Sat, 21 Sep 2013 16:55:52 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5523)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5523</guid>
					<link>http://79.174.14.219/336.html#comment5523</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>по сущности своей, просто средство связи между БД и другими объектами</blockquote>Нет, не БД, а <strong>источник данных</strong>, это авжный момент, т.к. я писал мапперы, которые работают НЕ с БД (в некоторых случаях это оправданно).<br/>
<br/>
<blockquote>но так как маппер работает с таблицей...</blockquote>Ни в коме случае! Если источником данных выступает все же БД, то маппер (как правило) работает с <strong>SQL-запросом</strong>, а не с конкретной таблицей. Это принципиальный момент.<br/>
<br/>
И вообще, у меня такое впечатление, что Вы сейчас придумываете ОРМ, а он уже придуман и даже реализован :) Посмотрите в сторону <strong>EntityORM</strong>. Вот там источник данных завязан как раз на сущность. Но это два разных подхода к оперированию данными, которые живут параллельно, и не вижу смысла их смешивать]]></description>
					<pubDate>Sat, 21 Sep 2013 17:11:38 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5524)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5524</guid>
					<link>http://79.174.14.219/336.html#comment5524</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Кроме БД я других источников в LS/Alto не видел — мы говорим применительно к этой LS.<br/>
<br/>
В силу будущего масштабирования вопрос разделения маппера по источнику данных, думаю, сам встанет.<br/>
<br/>
Да, маппер не работает с таблицей,<u>маппер получает данные одному ему лищь ведомым способом</u> — и другим объектам даже не нужно знать как и откуда они получены, но я ниже написал, что маппер дает данные и сущности и модулю — а это разного сорта данные. <br/>
<br/>
Пока не готов продолжать обсуждение. Нужно подумать.]]></description>
					<pubDate>Sat, 21 Sep 2013 17:25:47 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5517)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5517</guid>
					<link>http://79.174.14.219/336.html#comment5517</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[<blockquote>Очень не хочется мешать в кучу типы и классы</blockquote>Сама венгерская нотация подразумевает определение префиксов типов конкретной среды (префиксов как типов данных, так и пользовательских типов данных), поэтому мешанины не будет — будет своя нотация не для PHP вообще (а ее и нет), а нотация для Alto.]]></description>
					<pubDate>Sat, 21 Sep 2013 16:33:41 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5509)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5509</guid>
					<link>http://79.174.14.219/336.html#comment5509</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<strong>Методы</strong><br/>
Как-то сомневаюсь насчет get/set в нижнем регистре для сеттеров/геттеров. <br/>
<br/>
Вообще, мне гораздо больше нравится для методов классов использовать <strong>lowerCamelCase</strong>. Но т.к. нам нужно использовать имена методов в «псевдовызовах» типа <strong>User_GetUsersByFilter()</strong>, то лучше, конечно, юзать <strong>UpperCamelCase</strong> (написание типа <strong>User_getUsersByFilter()</strong> — по мне как-то совсем не айс).<br/>
<br/>
И в этих условиях выбирать регистр символов для разных случаев?<br/>
<pre class="prettyprint"><code>function GetUsersByFilter() { } // в модуле
function getUserName() { } // в сущности</code></pre><br/>
Все ж правила должны быть более четкие. Я сам чисто по привычке и по предпочтениям своим нередко сбиваюсь на <strong>lowerCamelCase</strong>, но если уж мы о стандартах говорим, то нужен единообразный подход. <br/>
<br/>
Итого, мое мнение: один из двух вариантов — либо во всех методах <strong>lowerCamelCase</strong>, либо — <strong>UpperCamelCase</strong>. Но «псевдовызовы» однозначно должны быть вида <strong>User_GetUsersByFilter()</strong>]]></description>
					<pubDate>Sat, 21 Sep 2013 15:07:35 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5510)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5510</guid>
					<link>http://79.174.14.219/336.html#comment5510</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Геттеры как setter-ы используются только от объекта, то есть <pre class="prettyprint"><code>$eUser-&gt;getId()</code></pre>. Через магические вызовы я тоже не хочу использовать, через них только методы модуля, а они, как-раз, с заглавной.<br/>
<br/>
Вы опередили меня в Рекомендациях — GetUsersByFilter() — это, на мой взгляд, не геттер. Геттер получает свойства приватного (защищенного) свойства через обработку его значения, а здесь, в Вашем примере, Get — имя метода, а не префикс геттера. (Подробнее поясню позже, когда допишу статью сущности).]]></description>
					<pubDate>Sat, 21 Sep 2013 15:22:36 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5515)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5515</guid>
					<link>http://79.174.14.219/336.html#comment5515</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>GetUsersByFilter() — это, на мой взгляд, не геттер...</blockquote>Да, это однозначно не геттер, даже обсуждать нечего, я лишь для примера привел, чтоб показать, что в одном случае тут метод класса, который начинается с «Get...», а в другом — метод класса, начинающийся с «get...». Но вообще геттеры/сеттеры в данном движке пока только в сущностях (Entity) предполагаются. Более того, это, как правило, некая надстройка над родительскими методами Entity-&gt;getProp()/Entity-&gt;setProp().<br/>
<br/>
Но значит ли это, что все методы сущности должны писаться в <strong>lowerCanelcase</strong>, как считаете? Ведь в общем случае у сущности могут быть и иные методы, не только геттеры/сеттеры. Как предлагаете их писать?]]></description>
					<pubDate>Sat, 21 Sep 2013 15:58:18 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5516)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5516</guid>
					<link>http://79.174.14.219/336.html#comment5516</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Нет, у сущности могут быть приватные методы, начинающиеся со знака подчеркивания и публичные, например метод валидации сущности, я предлагаю начинать с LowerCase, только геттеры и сеттеры, а остальное, только через Зглавную. Например:<br/>
<pre>&lt;code&gt;$sLogin = $eUser-&gt;getLogin();&lt;/code&gt;</pre>но<br/>
<pre>&lt;code&gt;$bResult = $eUser-&gt;Validate();&lt;/code&gt;</pre>]]></description>
					<pubDate>Sat, 21 Sep 2013 16:05:04 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5519)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5519</guid>
					<link>http://79.174.14.219/336.html#comment5519</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>я предлагаю начинать с LowerCase, только геттеры и сеттеры, а остальное, только через Зглавную</blockquote>Есть какая-то аргументация или так больше нравится? Может, сделать так: в объявлениях методов всегда использовать lowerCamelCase, а составных псевдовызовах эти же методы писать через UpperCamelCase? Т.е. так:<br/>
<pre class="prettyprint"><code>Class ModuleUser {
    function getUsersByFilter() { }
}</code></pre>Но псевдовызов этого метода оформляется так:<br/>
Но вызов оформляется так:<br/>
<pre class="prettyprint"><code>$this-&gt;User_GetUsersByFilter()</code></pre>Вообще, в далекой перспективе мне хотелось бы изменить синтаксис псевдовызовов методов моделей и писать так:<br/>
<pre class="prettyprint"><code>$this-&gt;ModuleUser-&gt;getUsersByFilter()</code></pre>Но это сугубо личные предпочтения]]></description>
					<pubDate>Sat, 21 Sep 2013 16:51:14 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5522)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5522</guid>
					<link>http://79.174.14.219/336.html#comment5522</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Вообще — не принципиально.<br/>
<br/>
Просто для PhpStorm есть плагин LS, который доставляет автокомплит по магическим методам, но Заглавные и строчные он различает, поэтому я для себя определил, что с маленьких только геттеры/сеттеры.<br/>
<br/>
С другой стороны геттеры и сеттеры — особый вид методов и обособленная нотация для них смотреться как-то отличительно не будет. <br/>
<br/>
Я сам привык начинать имена (как методов, так и переменных) с маленькой буквы — и еще раз скажу — позиция моя здесь не принципиальна.]]></description>
					<pubDate>Sat, 21 Sep 2013 17:02:55 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5520)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5520</guid>
					<link>http://79.174.14.219/336.html#comment5520</link>
					<author>markus1024@yandex.ru</author>
					<description><![CDATA[Вставлю своих 5 копеек. Считаю, что:<br/>
1) Префикс у мапперов и сущностей необходимо оставить «o» (object), ибо приблизительно 90% обращений к объекту — это обращение именно к сущностям (Entity), и затевать разграничения в названии префикса ради оставшихся 10% не стоит. Кроме того, венгерская нотация создавалась не для слепого следования ее рекомендациям, а что бы облегчить жизнь разработчикам. Приведенный выше пример — тому подтверждение.<br/>
2) Абсолютно согласен, что геттеры/сеттеры необходимо называть с <strong>м</strong>аленькой буквы, а названия всех функций (даже которые начинаются с таких «префиксов» (что префиксом не является, но может ввести в заблуждение), как «Add», «Get» и т.п.) — с <strong>Б</strong>ольшой.]]></description>
					<pubDate>Sat, 21 Sep 2013 16:53:51 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5525)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5525</guid>
					<link>http://79.174.14.219/336.html#comment5525</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[С пунктом 2 согласен, с пунктом 1 нет.<br/>
Я постараюсь в ближайшее время перевести один из плагинов в нотацию, которую я предлагаю, а там — по коду можно будет обсудить более предметно.]]></description>
					<pubDate>Sat, 21 Sep 2013 17:29:21 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5527)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5527</guid>
					<link>http://79.174.14.219/336.html#comment5527</link>
					<author>markus1024@yandex.ru</author>
					<description><![CDATA[Окей. Создавайте документ ACS — а там уже по ходу дела дальше обсудим.]]></description>
					<pubDate>Sat, 21 Sep 2013 21:19:44 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5528)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5528</guid>
					<link>http://79.174.14.219/336.html#comment5528</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Вопрос по поводу разделения маппера по таблицам снимается.<br/>
Свел использование таблиц мапперами в такую сетку:<br/>
<img src="http://altocms.ru/uploads//images//00/02/20/2013/09/21/55ca26.png" class="image-center"/><br/>
Видно, что маппер действительно жестко не привязан к какой-либо таблице.]]></description>
					<pubDate>Sat, 21 Sep 2013 21:28:22 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5951)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5951</guid>
					<link>http://79.174.14.219/336.html#comment5951</link>
					<author>viktorz1986@gmail.com</author>
					<description><![CDATA[Как раз читаю про разные стандарты. Вопрос: почему бы вместо траты времени на написание не позаимствовать что-либо из <br/>
<a href="https://github.com/getjump/fig-standards/blob/master/accepted/PSR-0.md" rel="nofollow">github.com/getjump/fig-standards/blob/master/accepted/PSR-0.md</a><br/>
&lt;a href=«<a href="https://github.com/getjump/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md" rel="nofollow">github.com/getjump/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md</a>»<br/>
rel=«nofollow»&gt;github.com/getjump/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md<br/>
<a href="https://github.com/getjump/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md" rel="nofollow">github.com/getjump/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md</a><br/>
Pear, Zend и т.д. Проанализировать и взять лучшее.]]></description>
					<pubDate>Tue, 15 Oct 2013 14:14:40 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5968)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5968</guid>
					<link>http://79.174.14.219/336.html#comment5968</link>
					<author>vshemarov@gmail.com</author>
					<description><![CDATA[<blockquote>почему бы вместо траты времени на написание не позаимствовать что-либо из...</blockquote>«Позаимстовать» что-то из стандарта и «перейти полностью» на какой-то стандарт — это разные вещи. Мы как раз «заимствуем». Например, общий стиль, принятый у нас в команде, базируется на стандарте Zend'а. Поддержка PSR-0 для библиотечных классов встроена в движок. Но есть ряд причин (как объективных, так и субъективных), почему невозможно (или нежелательно) просто слепо следовать какому-то одному уже существующему стандарту.<br/>
<br/>
<blockquote>Проанализировать и взять лучшее</blockquote>Анализ несомненно имеет место быть. Но вот «лучшее» без конкретизации — это сугубо субъективный критерий. Например, в отличии от приведенных стандартов, я считаю использование «венгерской нотации» хорошей практикой в PHP. Но знаю людей, которым это категорически не нравится.<br/>
<br/>
Поэтому я считаю, что необходимость в собственном стиле — Alto Coding Style — реально существует. И работа по его созданию обязательно будет доведена до конца.]]></description>
					<pubDate>Wed, 16 Oct 2013 20:00:24 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5977)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5977</guid>
					<link>http://79.174.14.219/336.html#comment5977</link>
					<author>viktorz1986@gmail.com</author>
					<description><![CDATA[Вы, правы, но я немного о другом. Я лишь отговариваю от написания с нуля. Предлагаю не создавать документ топик-стартеру, а ознакомиться с существующими стандартами. После их анализа выдать нечто ниже написанное.<br/>
<br/>
AltoCMS coding style, в основном, следует стандартам определенных в PSR-0 для библиотечных классов и базируется на стандарте Zend. Однако есть ряд причин (как объективных, так и субъективных), почему невозможно (или нежелательно) просто слепо следовать какому-то одному уже существующему стандарту. Эти причины перечислить. И далеее описать отличия.<br/>
<br/>
Если говорить по-другому, то отнаследоваться от одного или нескольких стандартов с переопределнием некоторых пунктов(именование классов, методов, переменных, скобки и т.д.)]]></description>
					<pubDate>Thu, 17 Oct 2013 06:31:01 +0400</pubDate>
									</item>
							<item>
					<title>Alto Coding Style (comment #5978)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/336/#comment5978</guid>
					<link>http://79.174.14.219/336.html#comment5978</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Я не писал документ с нуля и придумывать что-то новое и оригинальное смысла не вижу, да и не получиться. Да в документе нет ссылок на то, откуда, из каких рекомендаций, взят горбатый регистр или использование/неиспользование префиксов и т.д., но если это принципиально, то я могу сказать что предложные принципы именования были определены исходя из:<br/>
 — анализа кода CMS Livestreet, <br/>
 — анализа кода Alto, <br/>
 — кода фреймворка Yii (как пример кода, где не используется венгерская нотация), <br/>
 — API Windows (как пример использования венгерской нотации), <br/>
 — стандарта кодирования Zend, <br/>
 — стандартов PSR, <br/>
 — материалов интернет — в частности <a href="http://habrahabr.ru/post/38214/," rel="nofollow">habrahabr.ru/post/38214/,</a> <br/>
 — книги «Совершенный код» Стива Макконнелла<br/>
 — опыта собственной практики.<br/>
<br/>
Предложение я сделал для того, что бы внести некоторую определенность в структуру кода, поскольку видно (если вчитаться в код) что какие-то правила и соглашения авторы CMS и плагинов используют, но они, эти соглашения, нигде не зафиксированы.<br/>
<br/>
Я делал пометки для себя, но когда они оформились в некоторую структуру, я выделил основные закономерности в коде, а пробелы дополнил из выше указанного списка.<br/>
<br/>
Заметьте, я предложил только систему именования — <u>даже не предложил. а сформулировал уже существующий, сложившийся порядок</u>, например документ <a href="https://github.com/andrey-v/alto-name-rules/blob/master/variables.txt" rel="nofollow">variables.txt</a>: <br/>
 — В общих положениях сформулирован принцип венгерской нотации, по которой нет четких требований так как это не стандарт, а подход.<br/>
 — Префиксы — анализ кода Alto и LS выдал их список (Да я открывал код каждого модуля, маппера и сущности, читал этот код и встречающиеся префиксы выписывал на бумагу). Могу сказать, что других префиксов в этих CMS нет.<br/>
 — Суффиксы-Исключения определены по тому же принципу.<br/>
<br/>
Вопрос? Что именно из этого документа мне привязать к какому стандарту.<br/>
<br/>
Если подытожить вышесказанное документ <a href="https://github.com/andrey-v/alto-name-rules/blob/master/variables.txt" rel="nofollow">variables.txt</a> представляет собой сформулированный принцип венгерской нотации для CMS Alto.<br/>
<br/>
Тоже самое можно сказать и про документ <a href="https://github.com/andrey-v/alto-name-rules/blob/master/db.txt" rel="nofollow">db</a><br/>
<br/>
В последнем документе <a href="https://github.com/andrey-v/alto-name-rules/blob/master/classes.txt" rel="nofollow">classes.txt</a> используются выдержки ZEND+PSR, но тут тоже вопрос? константа большими буквами пишется и в С++ то требование пошло от него.<br/>
<br/>
В итоге: Да я согласен с Вами источник должен быть упомянут — я сделал это в комментарии, добавлю и на гитхаб.]]></description>
					<pubDate>Thu, 17 Oct 2013 08:11:20 +0400</pubDate>
									</item>
					</channel>
	</rss>
