Расширяемости чего? Подсознания?
Каких тегов вам не хватает и чего нельзя обычным образом описать в description поле?
Зачем писать многие вещи дважды да еще и громоздко?
/*
<function name="aaa">
<type>static</type>
<access>public</access>
<version>0.0.1</version>
<author>vasya pupkin</author>
<description>Returns sum of A + B</description>
<variables>
<variable name="a" type="integer" />
<variable name="b" type="integer" />
</variables>
*/
static public function aaa($a, $b) {
return $a + $b;
}
/*
</function>
*/
3 раза пишется только слово function, дважды пишется имя.
Соответственно если эта функция будет в классе и будет иметь различные атрибуты в виде static, final их тоже надо будет писать? А также перечислять каждую переменную? И в результате только тегов хмл будет больше чем код самой функции.
Намного изящней и удобочитабельней:
/**
Returns sum of A + B
@author Vasya Pupkin
@version 0.0.1
@param Int $a, Int $b
@return Int
*/
static public function aaa($a, $b) {
return $a + $b;
}
static, public и прочее указывать ненужно. Хороший редактор сам покажет какого типа функция. А если смотреть в коде коммент, то сам код функции показывает какого она типа.
P.S.
Видать хороший урожай конопли в этом году.
P.S.
Вы хоть представьте себе исходники ядра линукс документированные вышеуказанным методом. Они не 40 мег в бзипе, а 120 весить будут.