Astuce pour utiliser une variable "id"

muqaddarmuqaddar Administrateur
Je cherche le meilleur moyen, une astuce, une piste pour pouvoir écrire ce genre de chose sans se faire jeter par le compilateur :

@property (nonatomic, retain) NSString *id;


Plus loin:

  [id release];


Vous allez me dire de changer le nom de l'ivar... mais j'aime bien quand le nom de l'ivar est le même que celui en base de donnée (champ id classique mais de type NSString... pas Integer)

Bon, je pourrais le passer en majuscule comme "ID", je peux prendre sur moi pour les modifications de code...

Et donc si vous avez une méga-astuce ou une autre suggestion, je suis tout ouà¯e.

Réponses

  • mpergandmpergand Membre
    07:28 modifié #2
    #define id ID

    :)
  • AliGatorAliGator Membre, Modérateur
    07:28 modifié #3
    dans 1325275555:

    #define id ID

    :)
    Ouaiiis comme ça quand il écrit :
    -(IBAction)click:(id)sender { ... }
    
    Ca va bien foutre la zone avec des messages d'erreur qu'il va plus comprendre :D

    muqaddar je ne comprend vraiment pas pourquoi tu veux faire ça.
    Que ça t'embête que "id" soit un mot clé réservé, je comprend. Des fois moi aussi je veux utiliser ce nom "id" comme nom de variable.
    Mais c'est un mot clé réservé tu n'y peux rien. Tu ne peux pas appeler tes variables "if", "else" ou "while", ni même "int" ou "float", donc je vois pas pourquoi tu pourrais les appeler "id" ;)
  • muqaddarmuqaddar Administrateur
    07:28 modifié #4
    dans 1325275816:

    muqaddar je ne comprend vraiment pas pourquoi tu veux faire ça.
    Que ça t'embête que "id" soit un mot clé réservé, je comprend. Des fois moi aussi je veux utiliser ce nom "id" comme nom de variable.
    Mais c'est un mot clé réservé tu n'y peux rien. Tu ne peux pas appeler tes variables "if", "else" ou "while", ni même "int" ou "float", donc je vois pas pourquoi tu pourrais les appeler "id" ;)


    Autant faut être boulet pour appeler une variable "while", autant "id" est quand-même assez classique, surtout dans les systèmes de BDD... d'où ma volonté d'y voir clair entre modèles et BDD.

    Bon, je vais utiliser ID à  la place, mais ça va me faire un long travail de refactoring. :)

  • mpergandmpergand Membre
    décembre 2011 modifié #5
    dans 1325275816:

    Mais c'est un mot clé réservé tu n'y peux rien.


    Ben ouais, j'aurais du utiliser  :D

    On peut jouer avec #define #undef, c'est un peu lourd ...
  • AliGatorAliGator Membre, Modérateur
    07:28 modifié #6
    Bah appelle-la "pk" ou "pkid" au lieu de "id" (PK pour Primary Key bien sûr dans le domaine des BDD)
  • XodiaXodia Membre
    07:28 modifié #7
    Perso, ça m'énerve aussi, je rajoute juste un underscore a la fin -> id_
  • muqaddarmuqaddar Administrateur
    07:28 modifié #8
    dans 1325283173:

    Bah appelle-la "pk" ou "pkid" au lieu de "id" (PK pour Primary Key bien sûr dans le domaine des BDD)


    Ouais bof.
    Je préfère ID, et foreign_ID pour la clé étrangère (elles ressortiront toutes mieux comme ça).
  • muqaddarmuqaddar Administrateur
    07:28 modifié #9
    Est-ce que quelqu'un sait pourquoi id s'appelle id ?
    Et pas "akoo" (any kind of object) ? :-) Je vais appeler l'ingénieur de Next. ;)
    Parce que bon, si c'est id de identifier, ça identifie pas grand chose justement...
  • muqaddarmuqaddar Administrateur
    07:28 modifié #11
    dans 1325321796:


    Tiens, je pensais être le seul à  me poser ce genre de question existentielle ! ;)
  • SmySmy Membre
    07:28 modifié #12
    Allez, juste pour toi  :)

    <br />int int, for, printf;<br /><br />printf = 0;<br />for = 5;<br />for( int = printf; int &lt; for; int++ ) {<br />&nbsp; &nbsp; printf( &quot;La programmation selon muqaddar :-)&#092;n&quot; );<br />}<br />
    
  • jpimbertjpimbert Membre
    07:28 modifié #13
    dans 1325274221:

    Vous allez me dire de changer le nom de l'ivar... mais j'aime bien quand le nom de l'ivar est le même que celui en base de donnée (champ id classique mais de type NSString... pas Integer)

    Bon, je pourrais le passer en majuscule comme "ID", je peux prendre sur moi pour les modifications de code...

    Pour moi un identifiant en base de données n'est pas universel, il identifie forcément quelque chose, une entité particulière.
    Cette entité identifiée doit se refléter dans le nom de l'attribut ; id_kekchoz
  • muqaddarmuqaddar Administrateur
    07:28 modifié #14
    dans 1325327037:

    dans 1325274221:

    Vous allez me dire de changer le nom de l'ivar... mais j'aime bien quand le nom de l'ivar est le même que celui en base de donnée (champ id classique mais de type NSString... pas Integer)

    Bon, je pourrais le passer en majuscule comme "ID", je peux prendre sur moi pour les modifications de code...

    Pour moi un identifiant en base de données n'est pas universel, il identifie forcément quelque chose, une entité particulière.
    Cette entité identifiée doit se refléter dans le nom de l'attribut ; id_kekchoz


    Certains frameworks web utilisent des conventions de nommage, id étant souvent la clé primaire, et foreign_id une clé étrangère. Pour ma part, j'aime bien cette convention. :)
  • zoczoc Membre
    07:28 modifié #15
    dans 1325329481:

    id étant souvent la clé primaire

    Bah alors autant utiliser une variable nommée "key" ou "primaryKey", c'est encore plus parlant que "id".

  • muqaddarmuqaddar Administrateur
    07:28 modifié #16
    dans 1325331154:

    dans 1325329481:

    id étant souvent la clé primaire

    Bah alors autant utiliser une variable nommée "key" ou "primaryKey", c'est encore plus parlant que "id".


    Oui mais dans le cas d'un système client/serveur, c'est bien d'avoir la même chose partout pour plus de clarté, et comme mon framework web utilise "id", je n'ai pas envie de changer ses conventions avec de nouvelles lignes de code.

    Si j'ai posé cette question, c'est que j'avais une raison depuis le début. :)
Connectez-vous ou Inscrivez-vous pour répondre.