Quels émoticônes pouvez-vous mettre dans les noms de classe dans votre langue? [fermé]

StackOverflow https://stackoverflow.com/questions/1437609

  •  08-07-2019
  •  | 
  •  

Question

Je viens d'avoir une discussion avec un développeur sur la désignation des classes en C #. Ma dernière ligne de départ a été "Nous ne mettrons pas d'émoticônes dans les noms de nos classes."

Je ne vois pas comment vous pourriez mettre des émoticônes dans les noms de classe C #, mais je n'y ai pas trop réfléchi. Est-ce possible?

Est-ce que tout langage de programmation le permet? Quelle serait la meilleure / pire langue pour pouvoir exécuter cela?

Mise à jour: La réponse du programme répond le mieux à ma question. C'était une idée rapide après une discussion rapide, alors je vais accepter après un court laps de temps et ensuite, je vais passer à autre chose. Merci pour les réponses.

Était-ce utile?

La solution

Par exemple, dans Scheme, vous avez la possibilité d'inclure des symboles tels que : , - , / ... dans les noms,

(define (:-D x)
  (+ x 1))
...

(:-D 9)
output: 10

Autres conseils

De nombreux émoticônes de style japonais - O_o, v_v et autres - sont des sous-chaînes parfaitement légales de noms d'identificateurs dans la plupart des langues.

C # prend en charge toutes les lettres Unicode pour les identificateurs. Par conséquent, si vous trouvez des émoticônes appropriées pour les émoticônes dans les tableaux Unicode, vous pouvez les utiliser. Le CLR lui-même autorise beaucoup plus de caractères dans les noms d'identifiant, comme le backtick typique utilisé dans les noms générés par le compilateur. Vous pouvez donc devenir vraiment fou en définissant des noms vraiment étranges dans MSIL, puis en chargeant les classes avec une réflexion en C # car elle ne prend pas en charge ces personnages ...

Le nom de la méthode oO me vient à l’esprit. C'est un émoticône en soi (petit et grand œil), mais lorsqu'il est appelé sur une référence, il se transforme en bulle de pensée: .oO (Hello) .

Un peu hors sujet: je m'occupais des noms de fichiers l'autre jour et j'ai réalisé que toutes sortes de visages étaient apparus dans mon code:

string number(fn.begin()+fn.rfind('_')+1,fn.begin()+fn.rfind('.'));    

Et bien sûr, il y a les émoticônes de droite à gauche que vous obtenez presque toujours à la fin des lignes de code C ++:

mesh->Delete();

Pourquoi le C ++ a-t-il l'air si triste?

En C ++, si vous nommez une classe / struct _ (une mauvaise décision, mais on y va), vous pouvez en dériver comme ceci:

struct emoticon_to_the_right_of_this :_{
};

En pensant à cela, une classe o pourrait être tout aussi bonne:

struct another_emoticon_to_the_right_of_this :o{
};

Hm. Il me semble n'avoir que des tristes. Ce gars de Freud est-il ici aujourd'hui? J'ai une question à lui poser ...

Perl utilise :: comme séparateur de nom de package, ce qui signifie qu'un client de messagerie instantanée peut décider d'insérer un smiley lorsque je parle de XML :: Parser (contient ;: P ") ou Data :: Dumper (contient": D "). Les signes de ponctuation autres que :: ne sont pas recommandés dans les noms de package, donc la plupart des mots " prolongés " les smileys sont absents, mais si je voulais être très bête, je pourrais faire référence à une variable nommée $ {':-)'} - mais il faudrait toujours la référencer à l'aide du $ {'...'} puisque ce n'est pas un identifiant reconnaissable:)

En ce moment de 2014, Apple vient de publier Swift hier. Et j'ai fait un court exemple pour cela. Il compile et fonctionne parfaitement bien. : D

Swift

Je pense avoir déjà vu des langues qui utilisent = > pour accéder aux attributs d'objet (quelque chose comme person =

)

Cela ne fait pas vraiment partie du nom, mais cela pourrait être une émoticône.

Ce ne sont pas des noms de classes strictement, mais quelques-uns apparaissent de temps en temps dans PHP, comme un soulignement entre guillemets simples lors de la concaténation:

$foo = $bar.'_'.$baz;

Et comme quelqu'un l'a fait remarquer, vous n'avez même pas vraiment besoin de symboles spéciaux pour certains d'entre eux:

class o_0 {}
class v_v {}
class T_T {}

Quelque chose de plus compliqué:

function d() { echo 'Thumbs up!!'; }

d('_');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top