Программист 1С Киев
1C Предприятие 8  самая актуальная информация для программистов и пользователей 1С



Маркетинговый анализ
Документация по 1С
О бизнесе
Сопровождение 1С
Кабинет автоматизатора 1с
Полезные технологии
Отчетность 1c
Торговый анализ
Аналитика 1с





Текущий раздел: Документация по 1С


Функции - Степень идентичности


   

Данная классификация послужит методической основой для некой универсальной и автоматически пополняемой библиотеки функций из наиболее популярных конфигураций.

идентичность, функции, функций, параметрам, параметров, идентичности, количество, классификации, реализации, идентичны



Введение

Что стоит за словами "Эти две функции одинаковы"? Насколько одинаковы эти функции? Могут ли считаться одинаковыми функции, вся разница в которых заключается лишь в том, что в одной использованы английские ключевые слова, а в другой русские?

Существует огромное количество хорошо написанных универсальных функций и такое же огромное количество "поделок" и "подделок", написанных "на скорую руку". Но почти всегда, каждый новый программист радостно кидается писать свою неповторимую функцию, вместо того, чтобы взять уже готовый проверенный вариант.

Данная классификация призвана сформировать некоторый общий словарь терминов, однозначно определяющий степень схожести двух произвольных функций, вычисленную несколькими произвольными инструментами для сравнения функций, или используемый при визуальном анализе кода.

Необходимые ограничения

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

В данной классификации не рассматривается вопрос о видимости функции из других модулей, поэтому ключевое слово Экспорт нас не интересует.

В описания синтаксиса не включены ключевые слова, обозначающие начало функции и её завершение (Функция, Function, КонецФукнции, EndFunction). Предполагается, что все эти ключевые слова могут быть заменены на пару Функция-КонецФункции.

Качество и наличие комментариев являются предметом другой классификации.

В рамках данной классификации аналогично может быть рассмотрена идентичность процедур.

Общее представление об идентичности функций

Идентичность функций будет рассматривается в следующих относительно независимых разрезах:
* Идентичность по наименованию
* Идентичность по параметрам
* Идентичность по реализации
* Идентичность по возвращаемым значениям
* Идентичность по результатам

Идентичность по наименованию

Функция <ИмяФункции>([<ПараметрыФункции>])

Одноименные функции – функции с совпадающими наименованиями без учета регистра.

Разноименные функции – функции с различающимися именами.

Идентичность по параметрам

ПараметрыФункции = [<Параметр>]*[,<Параметр>]

Параметр = [[Знач] <ИмяПараметра>[=<ДефЗнач>],]

Т.к. у нас нет возможности проверить тип параметра, будем ориентироваться только на имя параметра, признак передачи по значению, наличие значения по умолчанию, а также на количество параметров.

Необходимо отметить, что совпадение количества параметров говорит о идентичности по параметрам, а вот анализ признака передачи по значению и наличия значения по умолчанию может говорить о степени сопоставимости.

Пока только проработан вариант полного совпадения количества и дополнительных характеристик параметров.

Полная идентичность по параметрам – количество параметром, их название и дополнительные характеристики совпадают.

Идентичность по параметрам – количество параметров и дополнительные характеристик совпадают, а вот наименования параметров не совпадают.

Идентичность по реализации

Полная идентичность по реализации – у двух функций тело функции полностью совпадает без учета незначащих символов и комментариев.

Идентичность реализации – идентичные по параметрам функций полностью совпадают без учета незначащих символов и комментариев, но в случае приведения имен параметров к одним значениям с соответствующей заменой имен в теле функции.

Идентичность по возвращаемым значениям

Анализу подлежат все возможные значения-параметры обязательного оператора Возврат.

Идентичность по результатам

Наиболее сложный вариант анализа функций. Поэтому скорее всего идентичность по результату придется рассматривать как закономерный результат идентичности по параметрам и коду.

В идеале хотелось бы иметь набор тестов. который бы проверял идентичность результата по всем значениям входных параметров двух функций.

Обобщенная степень идентичности

Объединение всей совокупности классификаций по идентичности позволяет ввести обобщенные понятия степени идентичности.

Полная идентичность – две функции полностью идентичны по параметрам и по коду.

Идентичность – две функции идентичны по параметрам и по коду.

Синонимичные функции – две функции идентичны или полностью идентичны, но различаются наименованиями.

Заключение

В этой версии классификации есть большой простор для новых терминов, но практическая ценность данной работы может быть уже невелика.

Для идентичных функций (не полная идентичность) необходимо проработать такую ситуацию, когда в теле функции изменяется переменная, предполагаемая как локальная, но не закрытая от изменения оператором Перем; В результате замены одной идентичной функции на другую и наличии совпадения глобальной переменной и «незакрытой» локальной переменной, могут возникнуть проблемы.

По материалам сайта Инфостарт



Читайте также:

Воспроизведение проблемы в открытом пользователе документе
Иногда пользователь сообщает о проблеме в документе, но соответственно, в этот момент времени он сам сидит в этом документе.


Принципы Бориса Нуралиева
К основателю софтверной фирмы " 1С " Борису Нуралиеву в компании привыкли обращаться на " ты ": он непритязателен и доступен, никогда не стучит кулаком по столу и редко повышает голос. При этом ему удалось построить компанию, которая работает как часы, и вывести ее в лидеры массового рынка прикладных программ.


Хороший программист 1С
Часто приходится у новых клиентов встречаться со следующей ситуацией: бухгалтер, как бы извиняясь, говорит: «Понимаете, до Вас у нас работал очень хороший программист 1С , но, к сожалению, у него очень много клиентов и к нам он приходит редко. И программу он не до конца доделал. Поэтому, мы вынуждены были искать кого-то еще…»


Фирма 1С третья на ERP-рынке
Российская 1С " , которой принадлежало почти 12%, в третьей строке списка лидеров


Подход к оплате труда специалиста 1С версии 7.7 в компании ДатаПрогГрупп
Мы сторонники почасовой оплаты труда наших специалистов. Привязка идет к выручке без НДС. Размер процента выплачиваемый от выручки привязан к компетентности сотрудника.


Защита коммерческой тайны в 1С Предприятии
В данной статье рассматриваются управленческие подходы к защите коммерческой тайны предприятия в учетных системах на примере экономической программы 1С. Статья будет интересна для менеджеров среднего и высшего звена, рекомендуется для прочтения техническим специалистам по обеспечению безопасности данных.


Маркетинговое программное обеспечение
Товарные группы: как выделить товарные группы по заданным показателям, как провести оценку товарных групп. Ценовые категории: принципы создания карты ценовых категорий запаса, возможности оценки роста оборота по товарных группам. Количество позиций в товарных группах: каким образом может влиять на оборот количество товарных групп, возможно ли оценить это влияние. Влияние соотношений и изменений в ассортименте на колебания оборота запасов. Выделение товаров-лидеров.


Фирма 1С и компания Агентство 1С -Персонал объявляют о выпуске совместного программного
Конфигурация "1С:Кадровое агентство" предназначена для автоматизации работы сотрудников кадровых и рекрутинговых агентств. При разработке в конфигурации был использован опыт автоматизации кадровых агентств, а также учтены основные стандарты, течения и методики оценки и отбора кандидатов.


Как кидают клиенты
Обмен опытом по работе с клиентом и вообще. Каждый, кто работает в сфере услуг (дизайнеры, программисты, маркетологи, юристы, и другие) рано или поздно сталкиваются, с неоплатой их счетов клиентами.


О потере чувства юмора.
Меня часто на концертах спрашивают .... О потере чувства юмора.








Маркетинговый анализ       Документация по 1С       О бизнесе       Сопровождение 1С       Кабинет автоматизатора 1с       Полезные технологии       Отчетность 1c       Торговый анализ       Аналитика 1с      


Пользовательского поиска


Украинский портАл Яндекс цитирования


по вопросам сайта обращайтесь: webmaster (at) 1cv8.net.ua