<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Комментарии к записи: Монстрирование в разработке</title>
	<atom:link href="http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/feed/" rel="self" type="application/rss+xml" />
	<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/</link>
	<description>что Bond грядущий нам готовит?..</description>
	<pubDate>Tue, 06 Jan 2009 09:25:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Автор: Eugene Bond</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-183</link>
		<dc:creator>Eugene Bond</dc:creator>
		<pubDate>Mon, 19 Nov 2007 07:49:45 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-183</guid>
		<description>В основном так и стараемся, но стихийность вносимых изменений сеет хаос.
Тем более, специфика такова, что для большинства продуктов первый заказчик -- сама контора, и функциональность вытачивается под нужды шефа. Зато когда появляются первые 3-4 клиента на готовый продукт, выясняется, что мировозрение шефа очень сильно отличается от ожиданий клиента :-/</description>
		<content:encoded><![CDATA[<p>В основном так и стараемся, но стихийность вносимых изменений сеет хаос.<br />
Тем более, специфика такова, что для большинства продуктов первый заказчик &#8212; сама контора, и функциональность вытачивается под нужды шефа. Зато когда появляются первые 3-4 клиента на готовый продукт, выясняется, что мировозрение шефа очень сильно отличается от ожиданий клиента :-/</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Oleg Marchuk</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-176</link>
		<dc:creator>Oleg Marchuk</dc:creator>
		<pubDate>Sun, 18 Nov 2007 16:15:54 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-176</guid>
		<description>Добавляя новую функциональность - принимать решение о необходимости рефакторинга. Если есть необходимость - делаем рефакторинг, но только в том обьеме, чтобы добавить новую функциональность, не больше.</description>
		<content:encoded><![CDATA[<p>Добавляя новую функциональность - принимать решение о необходимости рефакторинга. Если есть необходимость - делаем рефакторинг, но только в том обьеме, чтобы добавить новую функциональность, не больше.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Maxim Derkachev</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-27</link>
		<dc:creator>Maxim Derkachev</dc:creator>
		<pubDate>Fri, 13 Apr 2007 10:02:05 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-27</guid>
		<description>&lt;blockquote&gt;Но появляются мысли вот какие: ты пишешь “Без Prototype Lite в первом случае я бы прожил легко”. Но, представь себе ситуацию, что проект надо развивать и необходимо добавить еще фунционал.&lt;/blockquote&gt;

Если бы была такая ситуация, я бы заюзал "большой" тулкит не задумываясь. Просто там пара функций с эффектами, ради этого не стоило.

Что до монстрообразности, то любой продукт, который умеет много, сложен и нелегок. Без этого никак. Потому что мало того что ему надо обрабатывать стандартные ситуации, он должен еще обрабатывать чужие и свои баги, а также оставлять возможность для повторного использования и расширения, т.е. создавать абстракции на каждый чих. Отсюда и монстрообразность.

Про плагин - у тебя есть файрбаг, посмотри как у людей :)
Hint: не хватает overflow:auto</description>
		<content:encoded><![CDATA[<blockquote><p>Но появляются мысли вот какие: ты пишешь “Без Prototype Lite в первом случае я бы прожил легко”. Но, представь себе ситуацию, что проект надо развивать и необходимо добавить еще фунционал.</p></blockquote>
<p>Если бы была такая ситуация, я бы заюзал &#8220;большой&#8221; тулкит не задумываясь. Просто там пара функций с эффектами, ради этого не стоило.</p>
<p>Что до монстрообразности, то любой продукт, который умеет много, сложен и нелегок. Без этого никак. Потому что мало того что ему надо обрабатывать стандартные ситуации, он должен еще обрабатывать чужие и свои баги, а также оставлять возможность для повторного использования и расширения, т.е. создавать абстракции на каждый чих. Отсюда и монстрообразность.</p>
<p>Про плагин - у тебя есть файрбаг, посмотри как у людей :)<br />
Hint: не хватает overflow:auto</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Eugene Bond</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-26</link>
		<dc:creator>Eugene Bond</dc:creator>
		<pubDate>Thu, 12 Apr 2007 18:42:15 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-26</guid>
		<description>Фигня какая-то..
Смена кодировок никак не влияет на результат..
Прийдется, на досуге, напильником работать..</description>
		<content:encoded><![CDATA[<p>Фигня какая-то..<br />
Смена кодировок никак не влияет на результат..<br />
Прийдется, на досуге, напильником работать..</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Eugene Bond</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-21</link>
		<dc:creator>Eugene Bond</dc:creator>
		<pubDate>Thu, 12 Apr 2007 18:15:29 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-21</guid>
		<description>Макс, главная проблема была в том, что все прекрасно понимали, что код не уникальный. И начинали с поиска тулкитов. Но Яхувский моментально спугнул, а остальные (полтора года назад) находились или в зачаточном или в нераскрученном состоянии. На тот момент удалось обойтись самописной 3-4кб библиотекой для UI, что устраивало больше, чем кусков компиляция кода из разных источников. JQ активно развернулся с пол-года назад, Prototype чуть раньше, эфекты типа moo.fx не нужны были как тогда, так и сейчас.. 

И конечно, как показала практика, не надо было бояться Яхи..
Но появляются мысли вот какие: ты пишешь &lt;em&gt;"Без Prototype Lite в первом случае я бы прожил легко"&lt;/em&gt;. Но, представь себе ситуацию, что проект надо развивать и необходимо добавить еще фунционал. Если ты не используешь PrototypeLight тебя два пути: переписать все под какой-либо тулкит или дописать функционал самому. Причем последний вариант чреват вероятным повторением ситуации. Если ты уже используешь ProrotypeLight, то скорее всего тебе достаточно будет преключиться на полную версию и скачать пару плагинов..
Отсюда напрашивается &lt;strike&gt;ошибочный&lt;/strike&gt; сомнительный вывод -- всегда и везде сразу  же надо юзать могучие универсальные библиотеки. Я до конца не уверен сомнительно или ошибочно ли использовать могучие тулкиты для всего, но такова общая тенденция и это как минимум настораживает. Примеры того, что люди отвыкают мыслить просто, даже приводить нет смысла -- они кругом.. :(
И в то же время постояно появляются примеры того, что "сложномыслие" оправдало себя в последствии.

И это только одна сторона проблемы. Сама проблема глубже и шире. Яха спугнула &lt;strong&gt;монстрообразностью&lt;/strong&gt;. Этой тенденции подвержены и серверные (да и десктопные) приложения. Наращивание функционала увеличивает не только размер, но и усложняет API для разработчика, и, зачастую, UI для пользователя. Последнее представляется мне наиболее опасным с точки зрения "торговца готовым продуктом". Я еще хочу написать об этом позже, когда дойду до софта.

PS: поставил этот плагин -- все равно рвет ленту..</description>
		<content:encoded><![CDATA[<p>Макс, главная проблема была в том, что все прекрасно понимали, что код не уникальный. И начинали с поиска тулкитов. Но Яхувский моментально спугнул, а остальные (полтора года назад) находились или в зачаточном или в нераскрученном состоянии. На тот момент удалось обойтись самописной 3-4кб библиотекой для UI, что устраивало больше, чем кусков компиляция кода из разных источников. JQ активно развернулся с пол-года назад, Prototype чуть раньше, эфекты типа moo.fx не нужны были как тогда, так и сейчас.. </p>
<p>И конечно, как показала практика, не надо было бояться Яхи..<br />
Но появляются мысли вот какие: ты пишешь <em>&#8220;Без Prototype Lite в первом случае я бы прожил легко&#8221;</em>. Но, представь себе ситуацию, что проект надо развивать и необходимо добавить еще фунционал. Если ты не используешь PrototypeLight тебя два пути: переписать все под какой-либо тулкит или дописать функционал самому. Причем последний вариант чреват вероятным повторением ситуации. Если ты уже используешь ProrotypeLight, то скорее всего тебе достаточно будет преключиться на полную версию и скачать пару плагинов..<br />
Отсюда напрашивается <strike>ошибочный</strike> сомнительный вывод &#8212; всегда и везде сразу  же надо юзать могучие универсальные библиотеки. Я до конца не уверен сомнительно или ошибочно ли использовать могучие тулкиты для всего, но такова общая тенденция и это как минимум настораживает. Примеры того, что люди отвыкают мыслить просто, даже приводить нет смысла &#8212; они кругом.. :(<br />
И в то же время постояно появляются примеры того, что &#8220;сложномыслие&#8221; оправдало себя в последствии.</p>
<p>И это только одна сторона проблемы. Сама проблема глубже и шире. Яха спугнула <strong>монстрообразностью</strong>. Этой тенденции подвержены и серверные (да и десктопные) приложения. Наращивание функционала увеличивает не только размер, но и усложняет API для разработчика, и, зачастую, UI для пользователя. Последнее представляется мне наиболее опасным с точки зрения &#8220;торговца готовым продуктом&#8221;. Я еще хочу написать об этом позже, когда дойду до софта.</p>
<p>PS: поставил этот плагин &#8212; все равно рвет ленту..</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Oleg Marchuk</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-18</link>
		<dc:creator>Oleg Marchuk</dc:creator>
		<pubDate>Thu, 12 Apr 2007 10:47:06 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-18</guid>
		<description>К П.С. Что с заголовками писем? У меня сабжекты на китайском :=/</description>
		<content:encoded><![CDATA[<p>К П.С. Что с заголовками писем? У меня сабжекты на китайском :=/</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Maxim Derkachev</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-17</link>
		<dc:creator>Maxim Derkachev</dc:creator>
		<pubDate>Thu, 12 Apr 2007 10:15:25 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-17</guid>
		<description>Знаешь, так всегда сначала кажется, что твои задачи - уникальные, с ними никто не сталкивался до этого, поэтому нафиг эти все тулкиты, и напишем что-нибудь свое, компактное и быстрое. Однако в какой-то момент понимаешь, что уже написал свои кучи кода, которые дублируют по функциональности тулкит, превосходят его по объему и отстают по качеству и возможности повторного использования.

Поэтому тулкиты использовать надо. У них два преимущества. Первое преимущество - они пишутся, тестируются и критически обозреваются большим количеством народа, а это покупается только за огромное время и большие деньги. Обычно этот коллективный разум и находит баланс между удобством и производительностью. Второе - ты можешь писать используя довольно высокоуровневые конструкции, что экономит кучу времени и места на диске. И два недостатка - количество загружаемого кода и потеря производительности. Первый недостаток - временный, т.к. скорость сети растет очень быстро, к тому же это без учета сжатия. Второй, как правило, несущественный, да к тому же и тоже временный - через год JavaScript будет работать гораздо быстрее чем сейчас. 

Мой пример. Я давно использую YUI. При этом все равно возникает куча своего кода, который часто бесит. При этом для YUI (как и для JQ и Prototype) есть офигенная надстройка - Ext. Объем занрузки его поначалу отталкивает. Однако сейчас я уже крепко сомневаюсь в том, что мой код поверх YUI занимает меньше места и более хороший, чем был бы код, написанный поверх Ext, вместе с самим Ext. 

В любом случае, все зависит от того, для чего тебе это нужно. Для пары эффектов на одном сайте с выплывающими фиговинами и т.п. я брал Prototype Lite, и писал анимацию сам. На другом, где куча диалогов, драгдропа, автокомплита и прочего аджакса, загружается почти полностью YUI и куча моих надстроек. Без Prototype Lite в первом случае я бы прожил легко. Без YUI во втором мне бы пришлось написать что-то свое типа YUI. По объему, наверно, оно было бы меньше, но по качеству - сомневаюсь.

P.S. Женя, убери этот ужас с листингом, поставь себе http://www.softwaremaniacs.org/soft/highlight/ :)</description>
		<content:encoded><![CDATA[<p>Знаешь, так всегда сначала кажется, что твои задачи - уникальные, с ними никто не сталкивался до этого, поэтому нафиг эти все тулкиты, и напишем что-нибудь свое, компактное и быстрое. Однако в какой-то момент понимаешь, что уже написал свои кучи кода, которые дублируют по функциональности тулкит, превосходят его по объему и отстают по качеству и возможности повторного использования.</p>
<p>Поэтому тулкиты использовать надо. У них два преимущества. Первое преимущество - они пишутся, тестируются и критически обозреваются большим количеством народа, а это покупается только за огромное время и большие деньги. Обычно этот коллективный разум и находит баланс между удобством и производительностью. Второе - ты можешь писать используя довольно высокоуровневые конструкции, что экономит кучу времени и места на диске. И два недостатка - количество загружаемого кода и потеря производительности. Первый недостаток - временный, т.к. скорость сети растет очень быстро, к тому же это без учета сжатия. Второй, как правило, несущественный, да к тому же и тоже временный - через год JavaScript будет работать гораздо быстрее чем сейчас. </p>
<p>Мой пример. Я давно использую YUI. При этом все равно возникает куча своего кода, который часто бесит. При этом для YUI (как и для JQ и Prototype) есть офигенная надстройка - Ext. Объем занрузки его поначалу отталкивает. Однако сейчас я уже крепко сомневаюсь в том, что мой код поверх YUI занимает меньше места и более хороший, чем был бы код, написанный поверх Ext, вместе с самим Ext. </p>
<p>В любом случае, все зависит от того, для чего тебе это нужно. Для пары эффектов на одном сайте с выплывающими фиговинами и т.п. я брал Prototype Lite, и писал анимацию сам. На другом, где куча диалогов, драгдропа, автокомплита и прочего аджакса, загружается почти полностью YUI и куча моих надстроек. Без Prototype Lite в первом случае я бы прожил легко. Без YUI во втором мне бы пришлось написать что-то свое типа YUI. По объему, наверно, оно было бы меньше, но по качеству - сомневаюсь.</p>
<p>P.S. Женя, убери этот ужас с листингом, поставь себе <a href="http://www.softwaremaniacs.org/soft/highlight/" rel="nofollow">http://www.softwaremaniacs.org/soft/highlight/</a> :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Eugene Bond</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-15</link>
		<dc:creator>Eugene Bond</dc:creator>
		<pubDate>Thu, 12 Apr 2007 07:45:49 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-15</guid>
		<description>Теоретически -- да.
Фактически есть несколько моментов, которые могут препятствовать. 

1. Как выбрать подходящий момент? Начать рефакторить рано -- разработка сведется к "рефакторингу ради рефакторинга". Опаздать -- проще переписать, чем отрефакторить.
2. Для одного постоянно и стабильно развивающегося проекта, с четкой структурой и требованиями это единственный верный путь. Легкость поддержки совместимости версий, удобство обновлений. Про серверную часть я позже скажу отдельно, а в вот случае с вышеупомянутым жабаскриптом: обновить несколько десятков сайтов одновременно практически нереально, а обновлять надо одновременно, потому что ядро системы одно и модули, использующие JS, прийдется так или иначе обновлять. При этом на большинстве сайтов, SVN, к сожалению, после рефакторинга либо потянет за собой конфликты, либо форсированно убъет сайт-депендент кастомайзы.</description>
		<content:encoded><![CDATA[<p>Теоретически &#8212; да.<br />
Фактически есть несколько моментов, которые могут препятствовать. </p>
<p>1. Как выбрать подходящий момент? Начать рефакторить рано &#8212; разработка сведется к &#8220;рефакторингу ради рефакторинга&#8221;. Опаздать &#8212; проще переписать, чем отрефакторить.<br />
2. Для одного постоянно и стабильно развивающегося проекта, с четкой структурой и требованиями это единственный верный путь. Легкость поддержки совместимости версий, удобство обновлений. Про серверную часть я позже скажу отдельно, а в вот случае с вышеупомянутым жабаскриптом: обновить несколько десятков сайтов одновременно практически нереально, а обновлять надо одновременно, потому что ядро системы одно и модули, использующие JS, прийдется так или иначе обновлять. При этом на большинстве сайтов, SVN, к сожалению, после рефакторинга либо потянет за собой конфликты, либо форсированно убъет сайт-депендент кастомайзы.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Автор: Oleg Marchuk</title>
		<link>http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-13</link>
		<dc:creator>Oleg Marchuk</dc:creator>
		<pubDate>Thu, 12 Apr 2007 06:45:03 +0000</pubDate>
		<guid isPermaLink="false">http://bondariev.info/rabochee/monstrirovanie-v-razrabotke/#comment-13</guid>
		<description>Лучший способ, который я знаю, для избежания костылей и костылей для костылей - это делать вовремя рефакторинг. Пробовал, помогает</description>
		<content:encoded><![CDATA[<p>Лучший способ, который я знаю, для избежания костылей и костылей для костылей - это делать вовремя рефакторинг. Пробовал, помогает</p>
]]></content:encoded>
	</item>
</channel>
</rss>
