<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Уголок Романчика &#187; coding</title>
	<atom:link href="http://www.romanchik.info/wordpress/category/coding/feed" rel="self" type="application/rss+xml" />
	<link>http://www.romanchik.info/wordpress</link>
	<description>Виртуальное отражение моей действительности</description>
	<lastBuildDate>Mon, 12 Apr 2010 06:23:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A story of one article</title>
		<link>http://www.romanchik.info/wordpress/2007/01/19/a-story-of-one-article</link>
		<comments>http://www.romanchik.info/wordpress/2007/01/19/a-story-of-one-article#comments</comments>
		<pubDate>Fri, 19 Jan 2007 18:36:46 +0000</pubDate>
		<dc:creator>Романчик</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Всякая всячина]]></category>

		<guid isPermaLink="false">http://www.romanchik.info/wordpress/2007/01/19/a-story-of-one-article/</guid>
		<description><![CDATA[Когда я был маленьким, вместо того чтобы таскать девченок за косички, я ковырялся в бинарниках чужих программ. Потому что взломанная программа не могла дать в глаз. Вот такое тяжелое детство.
В процессе исследования я очень удивлялся какие эле&#173;ментарные защиты ставят мои коллеги. В один прекрасный момент я настолько удивился, что даже написал статью о том как [...]]]></description>
			<content:encoded><![CDATA[<p>Когда я был маленьким, вместо того чтобы таскать девченок за косички, я ковырялся в бинарниках чужих программ. Потому что взломанная программа не могла дать в глаз. Вот такое тяжелое детство.</p>
<p>В процессе исследования я очень удивлялся какие эле&shy;ментарные защиты ставят мои коллеги. В один прекрасный момент я настолько удивился, что даже написал статью о том как не нужно защищать свои творения. За эту статью мне сейчас ужасно стыдно. Потому что словесный поток просто поражает наивностью, а некоторые советы вообще не работают. Тем не менее статья была написана и выпущена в свет. </p>
<p>С тех пор прошло года четыре. За это время я бросил ковырять чужие программы, и стал ковырять девушек. Потому что перестал их бояться и даже очень полюбил. Потому что сам могу дать в глаз кому угодно. И вот вчера ради интереса ввел своё имя в <a href="http://www.google.com/search?q=%D1%80%D0%BE%D0%BC%D0%B0%D0%BD+%D1%80%D0%BE%D0%B9%D1%82%D0%B5%D1%80">гуглу</a> и нашел много ссылок на эту статью в различных источниках. Я не помню куда я её послал в первый раз&#8230; наверно <a href="mailto:gaidar@vbstreets.ru">Гайдару</a>. Но факт в том, что она расползлась без моего ведома по сайтам программерской направленности (аж 32 страницы нашлись). </p>
<p>Из всей этой кучи, одна страничка на <a href="http://http://www.vbnet.ru/competition/">VBNet.ru</a> вдохновила меня на написание этой заметки. Оказывается моя статья участвовала в конкурсе, и мне присудили второе место  <img src='http://www.romanchik.info/wordpress/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /> </p>
<p><i><br />
Второе место: Ройтер Роман &laquo;Как защитить свою программу от взломщиков&raquo;.<br />
&#8230;<br />
Ройтер Роман награждается комплектом компакт дисков от VBNet.Ru.<br />
</i></p>
<p>Стоит ли говорить, что никаких дисков я не получил&#8230; Mожет, сейчас, через почти четыре года, пойти потребовать награду? <img src='http://www.romanchik.info/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.romanchik.info/wordpress/2007/01/19/a-story-of-one-article/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bead ve neged goto</title>
		<link>http://www.romanchik.info/wordpress/2007/01/17/bead-ve-neged-goto</link>
		<comments>http://www.romanchik.info/wordpress/2007/01/17/bead-ve-neged-goto#comments</comments>
		<pubDate>Thu, 18 Jan 2007 00:56:55 +0000</pubDate>
		<dc:creator>Романчик</dc:creator>
				<category><![CDATA[coding]]></category>

		<guid isPermaLink="false">http://www.romanchik.info/wordpress/2007/01/17/bead-ve-neged-goto/</guid>
		<description><![CDATA[Заинтересовавшись топиком я провел исследование и пришел к любопытным результатам. До этого исследования я считал, что оператор GOTO плох, потому что &#171;так принято&#187;, мол код нечитабелен. И меня не смущал тот факт, что последние несколько лет я его видел в редчайших случаях, в основном в выходах из вложенных циклов.
С таким бекграундом я запряг Гуглу запросом [...]]]></description>
			<content:encoded><![CDATA[<p>Заинтересовавшись <a href="http://bbs.vbstreets.ru/viewtopic.php?t=30340">топиком</a> я провел исследование и пришел к любопытным результатам. До этого исследования я считал, что оператор GOTO плох, потому что &laquo;так принято&raquo;, мол код нечитабелен. И меня не смущал тот факт, что последние несколько лет я его видел в редчайших случаях, в основном в выходах из вложенных циклов.</p>
<p>С таким бекграундом я запряг Гуглу запросом &laquo;goto operator is bad practice&raquo; и получил <a href="http://www.answers.com/topic/goto-1">ссылку</a>, где говорится следующее:</p>
<p><i>&laquo;The GOTO statement has been the target of criticism, because if GOTOs are over-used it becomes very easy to produce unreadable and generally unmaintainable &laquo;spaghetti code&raquo;.&raquo;</i></p>
<p><span id="more-45"></span></p>
<p>Из этого пассажа следует, что злоупотребление GOTO сильно снижает читабельность исходника. Заинтересовавшись как можно злоупотребить этим оператором я попросил гуглу поискать страницы по запросу &laquo;goto spaghetti code&raquo;. Первый же <a href="http://en.wikipedia.org/wiki/Spaghetti_code">ответ</a> дал искомый результат:</p>
<table>
<tr>
<th>GOTO</th>
<th>for loop</th>
</tr>
<tr>
</tr>
<tr>
<td align="left"><code>10 i = 0<br />
20 i = i + 1<br />
30 if i < = 10 then goto 80<br />
40 if i > 10 then goto 60<br />
50 goto 20<br />
60 print "Program Completed."<br />
70 end<br />
80 print i; " squared = "<br />
90 i * i<br />
100 goto 20</code></td>
<td>
<code>for i = 1 to 10<br />
    print i; " squared = "; i * i<br />
next i<br />
print "Program Completed."</code>
</td>
</tr>
</table>
<p>Сравните оба варианта, несомненно в первом случае код нечитабелен. А ведь это ещё простой пример, представьте себе программы в тысячи строк где нет функций, а переход осуществляется прыжками. Да, такой GOTO действительно вреден и должен быть запрещен министерством здравоохранения по причине охранения здравого смысла людей вынужденных читать этот код!</p>
<p>Но если внимательно присмотреться, что мы видим? Мы видим, что этот код уже лет 20 как устарел. В сегодняшних реалиях мало кто в здравом смысле, будет имитировать структуры for&#8230;next, foreach, while&#8230;.loop и перемещаться произвольно по коду не используя удобные функции. Это значит то, что бойкотировать GOTO уже не актуально. По моему нескромному мнению у этого оператора существует своя ниша использования (обработка ошибок в VB6 и выход из вложенных функций), и нелепо утверждать, что он плох. Он плох когда им ошибочно пытаются заменить все остальные конструкции. Это как использовать инструмент не по назначению &#8212; к хорошему это не приводит.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romanchik.info/wordpress/2007/01/17/bead-ve-neged-goto/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
