2008-08-22 7 views
1

J'essaye d'écrire un RegEx pour un générateur de code (en C#) pour déterminer un nom de classe ou de paquet approprié d'une classe AS3.Quelles sont les règles pour nommer les classes AS3?

Je sais que les noms de classe

  • doit commencer par une lettre (capital ou autre)
  • tout autre chiffre peut être alphanumérique
  • ne peut pas avoir des espaces

Est-il autre chose que ?

Répondre

1

Voici d'autres classes valides.

Les classes ActionScript 3 (et les packages) doivent commencer par une lettre, "_" ou "$". Ils peuvent également contenir (mais pas commencer par) un nombre.

public class $Test {} 
public class _Test {} 
public class test {} 
3

Bien que vous puissiez commencer les noms de classe avec des lettres minuscules et comprennent des underscores et des signes dollar, la « dénomination convention » est de commencer le nom de classe et, chaque mot avec une lettre majuscule (par exemple UsefulThing), et ne pas inclure de traits de soulignement. Quand je vois des classes comme useful_thing, il semble mal, car ce n'est pas la dénomination . Peut-être que votre question aurait dû dire quels sont les noms valides pour une classe AS3?

À part ça, je pense que vous avez + maclema.

2

Les conventions de classes et de packages de nommage pour autant que je l'ai entendu:

La structure de l'emballage doit utiliser la dénomination « domaine basculée », avec des dossiers minuscules et les noms de classe notationCamel, à savoir:

import com.yourdomain.nameofsubfolder.YourSpecialClass; 

Cela se reflète dans tous les packages livrés avec Flash et Flex. Exemples:

import flash.events.MouseEvent; 
import flash.display.MovieClip; 

Il y a aussi une convention de nommage des interfaces après la fonctionnalité qu'ils ajoutent ou imposent comme dans: Styleable, Drawable, Movable etc ... Beaucoup (y compris Adobe) préfèrent également utiliser une majuscule « I "pour marquer des interfaces clairement en tant que telle, à savoir:

IEventDispatcher 
IExternalizable 
IFocusManager 

qui sont toutes les interfaces internes dans les flash.* packages.

Questions connexes