[ruby-gnome2-doc-cvs] [Hiki] update - Conventions et regles de nommage

Back to archive index

ruby-****@sourc***** ruby-****@sourc*****
2003年 9月 25日 (木) 02:22:48 JST


-------------------------
REMOTE_ADDR = 217.117.55.140
REMOTE_HOST = 
        URL = http://ruby-gnome2.sourceforge.jp/fr?Conventions+et+regles+de+nommage
-------------------------
  = Conventions et r鑒les de nommage
  Vous devez vous conformer ce document si vous impl駑entez un composant pour Ruby-GNOME2.  Comme ce document n'est pas exhaustif, n'h駸itez-pas dans le doute poser des questions sur la liste de diffusion.
  
  == Noms des biblioth鑷ues
  Le projet s'appelle Ruby-GNOME2.
  
  Pour parler d'une extension de Ruby-GNOME2, utilisez le "/".
  Par exemple:
  
  * Ruby/GNOME - Module gnome2
  * Ruby/GnomeCanvas - Module gnomecanvas2
  * Ruby/GTK - Module gtk2
  * Ruby/GLib - Module glib2 (glib2 est n馗essaire et automatiquement chargpar les autres biblioth鑷ues)
  * Ruby/Libglade - Module libglade 
  
  Vous pouvez 馮alement parler de Ruby/GNOME2, Ruby/GTK2, si vous devez faire la distinction avec la premi鑽e g駭駻ation Ruby-GNOME (qui utilisait Gtk+1.2).
  
  == M騁hodes d'acc鑚 (set/get)
  
  Il y a deux possibilit駸.  Dans tous les cas, vous devez impl駑enter toutes les m騁hodes.
  
  * La m騁hode n'a qu'un seul argument
  
   set: hoge=(a)             # retourne a.
        set_hoge(a)          # retourne self.
   get: hoge                 # retourne la valeur de hoge.
  
  * la m騁hode 2 ou plusieurs arguments
  
   set: set_fuga(a, b)       # retourne self.
   get: fuga                 # pas d'arguments, retourne la valeur de fuga.
        get_fuga(a, b)       # avec arguments, retourne la valeur de fuga.
  
  == M騁hodes is_*
  Renommez-les en *?.  Par exemple pour is_foo, il convient mieux d'utiliser la place foo?.  C'est beaucoup plus naturel en Ruby.
  
  == M騁hodes has_*, use_*
  Si la m騁hode retourne un gboolean, rajoutez simplement '?' la fin de son nom.
  
    has_foo -> has_foo?
    use_bar -> use_bar?
  
  == M騁hodes set/get_has_*, set/get_use_*
  
    get_has_foo -> has_foo?
    set_has_foo -> has_foo=(a), set_has_foo(a)
    get_use_foo -> use_foo?
    set_use_foo -> use_foo=(a), set_use_foo(a)
  
  == classname_foo_set_bar, classname_foo_get_bar ...
  Il existe des m騁hodes dont le nom ne commence pas par set/get/is/has/use.  Nous pensons que ces m騁hodes n'ont pas 騁nomm馥s correctement (le nom est tr鑚 important).  Toutefois, nous ne les convertissons pas comme ceci:
  
    gtk_classname_foo_set_bar -> Gtk::ClassName#foo_set_bar
    gtk_classname_foo_get_bar -> Gtk::ClassName#foo_get_bar
    gtk_classname_foo_get_bar -> Gtk::ClassName#foo_get_bar?
    gtk_classname_foo_is_bar -> Gtk::ClassName#foo_is_bar?
    gtk_classname_foo_has_bar -> Gtk::ClassName#foo_has_bar?
    gtk_classname_foo_use_bar -> Gtk::ClassName#foo_use_bar?
  
  == M騁hodes d'instances qui retournent void
  Retournez self.
  
  == initialize
  Retournez Qnil.
  
  == M騁hodes de classes ou fonctions de modules qui retournent void
  Retournez Qnil.
  
  == M騁hodes dites destructive (qui modifient l'objet en lui-m麥e)
  G駭駻alement, le nom des m騁hodes destructives se termine par '!'.  Par exemple, Gtk::TreeIter#first!, #next!, Gtk::TreePath#prev!, #next!, #up!, #down!.
  
  (*) Notez que '!' plutot une connotation "dangereuse" que "destructive", qui sert alerter le programmeur.
  
  == M騁hodes *_foreach
  Renommez-les en 'each'.
  
  == M騁hodes qui retournent une valeur bool馥nne
  Ajoutez '?' la fin du nom de la m騁hode (par exemple, foo -> foo?) en fonction de ce dernier.  Certaines m騁hodes insistent plus sur une action particuli鑽e effectuer que sur le renvoi d'une valeur de status.
  
  Exemple:
  
    do_something -> do_something  # Fait quelque chose, et retourne un bool饌n.
    some_status -> some_status?   # Retourne simplement un bool饌n.
  
  == Constantes
- Quelques fois d馭inir des constantes peut se r騅駘er difficile.  Dans le doute, demandez sur la liste de diffusion.
+ Quelquefois d馭inir des constantes peut se r騅駘er difficile.  Dans le doute, demandez sur la liste de diffusion.
  
- * Abolissez les modules sp馗ialement cr馥s pour contenir des constantes.  Par exemple: Gtk::ItemFactory::Constants.
  * Si les constantes sont li駸 un objet (classe ou module) particulier, renommez-les alors d'une fa輟n significative.
    Par exemple, dans le cas de GtkDialog:
  
        GtkDialogFlags
           GTK_DIALOG_MODAL               -> Gtk::Dialog::MODAL
           GTK_DIALOG_DESTROY_WITH_PARENT -> Gtk::Dialog::DESTROY_WITH_PARENT
           GTK_DIALOG_NO_SEPARATOR        -> Gtk::Dialog::NO_SEPARATOR
    
        GtkResponseType
           GTK_RESPONSE_NONE     ->  Gtk::Dialog::RESPONSE_NONE
           GTK_RESPONSE_REJECT   ->  Gtk::Dialog::RESPONSE_REJECT
           GTK_RESPONSE_ACCEPT   ->  Gtk::Dialog::RESPONSE_ACCEPT
  
  * Si les constantes sont radicalement ind駱endantes d'un objet particulier (((*'Standard Enumerations'*))):
  
      GTK_FOO_BAR -> Gtk::FOO_BAR
  
  == Classes, Modules et Methodes
  En temps normal, une classe Ruby encapsule une structure C.  Si il n'existe pas de structure C, vous devriez alors envisager d'impl駑enter le groupe comme un module Ruby.
  
  Il existe 馮alement quelques exceptions, c'est-dire des m騁hodes dont le premier argument est une instance d'une autre classe.  Dans ce cas, impl駑entez alors la m騁hode dans l'autre classe.
  
  == Plusieurs m騁hodes avec la m麥e signification, mais qui acceptent des arguments diff駻ents
  Combinez-les dans une seule m騁hode.
  
  == Divers
  * Vous pouvez ajouter des m騁hodes qui n'existent pas dans la biblioth鑷ue C si vous le d駸irez.
  * Vous pouvez changer le nom de certaines fonctions de la biblioth鑷ue C, si vous pensez que la m騁hode para〓ra plus naturelle dans Ruby.
  
  Ces choses ne sont pas interdites, car Ruby-GNOME2 n'est pas qu'un simple "emballage" GNOME pour Ruby.
  Mais proposez toutefois votre id馥 sur la liste de diffusion.
  
  - ((<Masao|URL:../hiki.cgi?Masao>))
  
  Page traduite de l'anglais par Laurent Sansonetti.





ruby-gnome2-cvs メーリングリストの案内
Back to archive index