![]() |
Translate to: |
||||||
| Обратная связь | Новости САПР | Программы | Документация | Полезные советы | Обзорные статьи | ||
| Заказ и разработка | Каталог САПР | САПР-конференция | Библиотека ГОСТов | Наши соавторы | Коммерческое ПО | ||
Взято с сайта Надежды Толстобы -
http://aco.ifmo.ru/~nadinet/,
на ее сайте вы так же можете найти
лекции и задания
по программированию
на AutoLisp и работе в AutoCAD
и многое другое.
- Обязательно |
- Допустимо |
- Желательно |
- Нежелательно |
- Заперщено |
![]() |
Использование глобальных данных и функций крайне нежелательно. |
![]() |
Файл библиотеки должен начинаться с комментированного заголовка, имеющего следующую структуру:
;; filename.lsp ;; ФИО ;; ;; Имя библиотеки ;; Краткое описание назначения библиотеки (prompt "/n filename.lsp /n") |
![]() |
Для структурирования текста программы обязательно использовать табуляцию. Величина табуляции должна составлять 4 пробела. Следить за тем чтобы в качестве табуляции использовался именно символ табуляции, а не 4 пробельных символа. |
![]() |
Комментарии должны составлять примерно 50% текста. Желательно комментировать каждый логический блок операторов (условное ветвление программ, циклические конструкции). |
![]() |
Обязательно комментировать объявление списков, функций и их аргументов, переменных. |
![]() |
Предпочтительно использование однострочного комментария со сдвигом влево на величину табуляции следующим образом:
;Обмен значениями между переменными x и y (setq temp x x y y temp ) |
![]() |
Использование однострочного комментария заканчивающего строку допускается при объявлении переменных и других подобных случаях. Например:
(command "DIMDEC" "2"); кол-во знаков после запятой |
![]() |
Имена идентификаторов должны состоять из не более 6 латинских символов. Превышение этого предела требует большее количество памяти. |
![]() |
Для имен идентификаторов обязательно использовать символы нижнего регистра. Для имен идентификаторов желательно использовать как можно более короткие англоязычные слова, например: count, row, area, top и т.п. Для составных имен использовать символ '_'. |
![]() |
Неявное преобразование типов переменных недопустимо. |
![]() |
Автоинкремент и автодекремент использовать в арифметических выражениях запрещается (1+ <число>). |
![]() |
В конструкции if желательно структурирование даже в случае однооператорного if | |
однооператорный if:
(if (= a 4) (setq num_file "Table_1.txt") (setq num_file "Table_2.txt") ) |
многооператорный if:
(if (= num_file 1)
(progn
(setq f_name "Table_3.txt")
;создаем список
(setq spisok (list a b c))
)
;иначе
(progn
(setq f_name "Table_4.txt")
;создаем список
(setq spisok (list b c a))
)
)
|
|
![]() |
Для организации цикла с предусловием используется следующая конструкция
(while (<= a 10)
(some-func a)
(setq a (1+ a))
)
|
![]() |
Для организации пошагового цикла с предусловием используется следующая конструкция:
(repeat 4
(setq a (+ a 10))
(setq b (+ b 10))
)
|
![]() |
Для бессмысленных переменных вложенных циклов использовать имена в следующем порядке: i,j,k,l,m,n |
![]() |
Когда необходимо предусмотреть большое количество разнообразных вариантов, то можно использовать конструкцию cond строго соблюдая пунктуацию, показанную ниже:
(cond
((= s "Y") 1)
((= s "y") 1)
((= s "N") 0)
((= s "n") 0)
(t nil)
)
|
![]() |
Имена функций могут состоять не менее чем из трех символов, которые должны быть латинскими буквами, и при особой необходимости арабскими цифрами. |
![]() |
Следует избегать превышения предела в 6 символов для имен функций. Превышение этого предела требует большее количество памяти. |
![]() |
Имена функций должны составляться из одного, двух или трех как можно более коротких англоязычных слов, каждое из которых записывается с большой буквы, например: GetCount, SetTop и т.п. (Для AutoLISP не имеет значения регистр, но такая запись дает возможность ориентироваться в назначении функций.) |
![]() |
Для реализации функции используется следующая конструкция:
;-----------------------------------------------------------(80 символов)
; назначение
;-----------------------------------------------------------(80 символов)
; входные параметры
;-----------------------------(40 символов)
; выходные параметры
;-----------------------------(40 символов)
(defun имя (параметры / локальные переменные)
тело функции
)
(prompt "имя, ")
|
![]() |
В списке локальных переменных должны быть перечислены все переменные, используемые в данной функции |
![]() |
Использовать в функциях аргументы по умолчанию нежелательно |
![]() |
Желательно использовать передачу данных списком. |
![]() |
Передача данных должна производится как результат последного действия |
![]() |
Когда есть выбор, то предпочтительнее использовать функций стандартной библиотеки функций AutoLISP |
Copyright © Сайт поддержки пользователей САПР