Условни означения в езика за интерфейсни дефиниции (IDL)
При проектирането на IDL стремежа на създателите е бил да са последователни и да се придържат към известен брой условности за именуване и употреба. Тези условности са изброени и обяснени по-долу.
Терминология:
Много имена се изписват смесено с малки и главни букви, като е без значение дали самото име започва с малка или с главна буква, напр.
MixedCaseUpperWord
и mixedCaseLowerWord
.
Забележка: Тъй като в текущия IDL тези условности са непълни, то те най-вероятно ще търпят промени (особено онези, касаещи множественото число, константите и изключенията).
Общо
всички IDL файлове имат включени в тях коментари, които могат да бъдат обработвани от hidl или подобни имструменти, извикаващи документация
подобна на тази дадена от javadoc
Всички IDL файлове, за които трябва да бъде избегнато многократното им включване, започват с твърдение, заградено в квадратни скоби
Пример:
[съдържание на файла]
Има изключения при именуването със съкращения за акроними като DNA.
не се използват #pragma директиви. Директивата "#pragma" се използва за задаването на различни опции на компилатора. Тези опции зависят от платформата и компилатора, който се използва. Въпреки, че версията pragma би била много полезна, бяха срещнати затруднения с нея, като например това, че не всички IDL компилатори я обработват коректно.
Пример:
module taxonomy { ...
В текущия IDL, те приемат ролята на enum тъй като те предлагат по-голяма гъвкавост. Те са смесени с малки и главни
букви и със суфикс "_Xtc".
Пример:
const long PhysicalSegment_ltc = 2;
("location type code for PhysicalSegment")
те се използват изключително широко като сигнал за отсъствието на резулата от някоя иначе правилна заявка. В съответствие със
системните изключения на CORBA, техните имена са изцяло с главни букви.
Пример:
exception NO_RESULT { string reason};
за съжаление в IDL има ключова дума sequence, с която се обозначава изброяването на няколко неща.
Биологичните последователности се наричат BioSeq, NucSeq и т.н. По тази причина не се възприема практиката
да се формира множественото число чрез добавянето на "Seq". Поради тази причина съгласуванията на типове в CORBA се
дефинират (typedef
) като техните граматично коректни множествени числа. При множественото число на структурите
(struct
) и обединенията (union
), те губят съответните си наставки _s и _u (виж по-долу)
Пример:
interface NucSeq {...
Пример:
NucFeature getNucFeature(in string
feature_key);
структурите се именуват Something_s, т.е. обяснително име, започващо с главна буква с добавена наставка
"_s" Причината за това е те да бъдат направени различими като структури в езиковия mapping на Java, който
ги третира като обекти (оттук и главните букви). Във формата за множествено число наставката "_s"
изчезва.
Пример:
struct DbXref_s { string primary_id; };
Пример: виж по-горе
Обединенията се използват относително широкo в IDL. Намеренията са те да бъдат ограничен
тип any
, а именно данни, които знаят собствения си тип. Типът винаги е даден като type code, дефиниран като
константа (виж по-горе). Те са именувани като струкатура, но имат наставка "_u". Тази наставка изчезва, когато има множествено число