<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Комментарии на: Стили программирования</title>
	<atom:link href="https://autolisp.ru/2009/09/22/programming-style/feed/" rel="self" type="application/rss+xml" />
	<link>https://autolisp.ru/2009/09/22/programming-style/</link>
	<description>LISP для AutoCAD</description>
	<lastBuildDate>Tue, 24 Feb 2026 16:11:05 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>От: Кулик Алексей aka kpblc</title>
		<link>https://autolisp.ru/2009/09/22/programming-style/comment-page-1/#comment-76081</link>
		<dc:creator><![CDATA[Кулик Алексей aka kpblc]]></dc:creator>
		<pubDate>Fri, 02 Feb 2018 05:22:56 +0000</pubDate>
		<guid isPermaLink="false">http://autolisp.ru/?p=92#comment-76081</guid>
		<description><![CDATA[К сожалению, сайт cad.kurganobl.ru закрылся :( Поэтому описание стилей программирования приведу здесь. Текст взят из книги &quot;САПР на базе AutoCAD - как это делается&quot; (С.Зуев, Н.Полещук, при участии П.Лоскутова):

&quot;Инженерный&quot; стиль.
Этот стиль программирование, прежде всего, отличается почти исключительным использованием функции command для создания и редактирования объектов. &lt;...&gt; До версии AutoCAD R11 создавать объекты можно было только с помощью функции command, это было просто и наглядно. Некоторое неудобство былов  том, что существовали версии AutoCAD на разных языках с локализованными командами, и приходилось писать разные версии программ. Кроме того, в ранних версиях AutoCAD наблюдалось некоторое несоответствие опций команд. После появления локализованных и оригинальных имен команд (добро пожаловать в поиск по сайту) ситуация стабилизировалась.
При использовании функции command разработчик должен точно знать имена команд, опции команд и возможные их варианты, т.к. он должен передать в функцию абсолютно точную последовательность ответов на возможные варианты запросов команды.

&quot;Программисткий&quot; стиль
Так стиль характеризуется тем, что при работе с функцией entmake разработчик собирает в ассоциативный список информацию о координатах, слое и цвете объекта, а затем передает все это в AutoCAD для построения. Изменение свойств объектв осуществляется функцией entmod с передачей ей аналогичного списка. &lt;...&gt; Работа со списками полностью соответствует идеологии языка LISP, придает программам большую гибкость и выигрыш в скорости работы. Но разработчик должен знать уже гораздо больше о структуре данных, прежде всего DXF-коды различных объектов, и должен уметь свободно оперировать со списками.

&quot;Объектный&quot; стиль
После внедрения в AutoCAD технологии ActiveX начал формироваться &quot;объектный&quot; стиль программирования. Объектный стиль характеризуется тем, что разработчик работает не с именами и опциями команд и не с ассоциированными списками свойств различных объектов, а с объектной моделью AutoCAD через функции ActiveX. Создание объектов в VisualLISP с помощью функций ActiveX является самым современным (книга 2004 года) из имеющихся методов. Это действительно так, если под &quot;современным&quot; понимать новый или &quot;молодой&quot;. Считается, что технология ActiveX обладает рядом преимуществ по сравнению с использованием функций command и entmake, потому что:
- функции ActiveX работают быстрее, чем функции command
- имена функций ActiveX обозначают действия, которые они выполняют, что обеспечивает более удобное чтение, обновление и исправление программ.]]></description>
		<content:encoded><![CDATA[<p>К сожалению, сайт cad.kurganobl.ru закрылся <img src="https://autolisp.ru/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /> Поэтому описание стилей программирования приведу здесь. Текст взят из книги "САПР на базе AutoCAD - как это делается" (С.Зуев, Н.Полещук, при участии П.Лоскутова):</p>
<p>"Инженерный" стиль.<br />
Этот стиль программирование, прежде всего, отличается почти исключительным использованием функции command для создания и редактирования объектов. < ...> До версии AutoCAD R11 создавать объекты можно было только с помощью функции command, это было просто и наглядно. Некоторое неудобство былов  том, что существовали версии AutoCAD на разных языках с локализованными командами, и приходилось писать разные версии программ. Кроме того, в ранних версиях AutoCAD наблюдалось некоторое несоответствие опций команд. После появления локализованных и оригинальных имен команд (добро пожаловать в поиск по сайту) ситуация стабилизировалась.<br />
При использовании функции command разработчик должен точно знать имена команд, опции команд и возможные их варианты, т.к. он должен передать в функцию абсолютно точную последовательность ответов на возможные варианты запросов команды.</p>
<p>"Программисткий" стиль<br />
Так стиль характеризуется тем, что при работе с функцией entmake разработчик собирает в ассоциативный список информацию о координатах, слое и цвете объекта, а затем передает все это в AutoCAD для построения. Изменение свойств объектв осуществляется функцией entmod с передачей ей аналогичного списка. < ...> Работа со списками полностью соответствует идеологии языка LISP, придает программам большую гибкость и выигрыш в скорости работы. Но разработчик должен знать уже гораздо больше о структуре данных, прежде всего DXF-коды различных объектов, и должен уметь свободно оперировать со списками.</p>
<p>"Объектный" стиль<br />
После внедрения в AutoCAD технологии ActiveX начал формироваться "объектный" стиль программирования. Объектный стиль характеризуется тем, что разработчик работает не с именами и опциями команд и не с ассоциированными списками свойств различных объектов, а с объектной моделью AutoCAD через функции ActiveX. Создание объектов в VisualLISP с помощью функций ActiveX является самым современным (книга 2004 года) из имеющихся методов. Это действительно так, если под "современным" понимать новый или "молодой". Считается, что технология ActiveX обладает рядом преимуществ по сравнению с использованием функций command и entmake, потому что:<br />
- функции ActiveX работают быстрее, чем функции command<br />
- имена функций ActiveX обозначают действия, которые они выполняют, что обеспечивает более удобное чтение, обновление и исправление программ.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
