Лучшее название для процедуры "currentpoint newpath moveto" - PullRequest
3 голосов
/ 10 апреля 2009

Вопрос: Есть ли у вас какие-либо предложения по улучшению названий этих функций?

Поскольку newpath и stroke приводят к тому, что текущая точка становится неопределенной, я обычно определяю такие процедуры, как

/new_path     { currentpoint newpath moveto             } bind def
/close_stroke { currentpoint closepath stroke moveto    } bind def

Однако эти имена действительно являются примерами Как написать не поддерживаемый код , и я бы предпочел назвать их как-то иначе, но не могу придумать какие-либо хорошие имена (кроме, может быть, таких как newpath_without_undefining_currentpoint и тогда польза от использования процедуры более или менее исчезла).

При поиске существующего использования в pdf_ops.ps из ghostscript было найдено следующее:

/ tn {currentpoint newpath moveto} bdef% Устаревший, никогда не использовался.

и tn не совсем лучшее имя.

Edit: Что я имею в виду, имея неустранимые характеристики, так это то, что я получаю newpath и new_path, оба делают одно и то же, но немного по-разному, и в именах нет ничего, что бы намекало на что-либо. Я знаю, что идентификаторы часто сокращаются для экономии места, но это не проблема для моих рукописных файлов.

Ответы [ 2 ]

2 голосов
/ 10 апреля 2009

Как насчет использования /beginpath (или /startpath) и /completepath?

1 голос
/ 10 апреля 2009

Ваши имена выглядят хорошо для меня. Я бы рискнул парой моих - /newpath_here и /stroke_here.

тн не совсем лучшее имя.

Короткие имена - это результат усилий, направленных на то, чтобы размер PS-файла был небольшим (меньшее количество байтов означает меньше данных для передачи по проводам). На самом деле, это разделяют даже операторы PDF (где значение меняется в зависимости от корпуса).

...