Поскольку в пространствах имен существует так много потенциального загрязнения, особенно с помощью анализатора, который автоматически объявляет любой компонент MXML с идентификатором общедоступным с использованием этого идентификатора, я считаю опасным использование только camelCase для идентификаторов элементов MXML.
Например:
<mx:TextInput id="textOne" text="This is a test" />
<mx:Button id="buttonOne" label="Click Me" click="textOne.text='Testing 1-2-3'" />
В этом довольно тривиальном примере довольно ясно, что «textOne» в обработчике нажатия кнопки ссылается на TextInput с идентификатором «textOne».Это становится менее очевидным в следующем примере:
<mx:Button id="buttonTwo" label="Change Tab" click="tabNav.selectedChild=newState" />
Здесь совершенно не очевидно, что «newState» ссылается на экземпляр INavigationContent с идентификатором «newState» в контексте TabNavigator с идентификатором «tabNav ".
Это стало бы еще менее понятным, если бы мы делали это в блоке fx: Script или хуже (лучше) во внешнем файле класса AS.
public function buttonClickHandler(event:FlexEvent):void {
tabNav.selectedChild = newState;
}
Нигде вв этом файле класса AS мы объявили tabNav или newState, и поэтому, на первый взгляд, мы ожидаем, что парсер пожалуется.Но это не потому, что эти идентификаторы автоматически объявляются как открытые свойства.
Я имею в виду, что чувствует для меня, что мы должны разработать соглашение, которое делает более очевидным, гдеэти публичные свойства приходят из.Что-то вроде
id="mxTabNav"
или
id="TXTMyTextInput"
или, может быть, просто используйте подчеркивание
id="my_text_input"
В разработке Flash многие из нас сделали это для (автоматически) объявленногоЭкземпляры сцены, такие как "mcMyTabBar" или "navMC" или "playPauseBTN".
Я ищу информацию от сообщества Flex по этому поводу.Я просто обдумывал вещи?Во всех связанных с этим Руководствах по стилю и документах о лучших практиках, которые я прочитал по этой теме, просто говорится «используйте camelCase для идентификаторов и убедитесь, что свойство id является первым свойством».
Что вы думаете?