2010-09-08 15 views
2

Quand je vois un petit programme qui est écrit pour certains étudiants, je vois souvent quelque chose comme ceci: (haskell, allemand): Comme beaucoupPourquoi les caractères non-ascii sont-ils encore détestés dans les noms de fonction/var?

ueber = "What the haeck!" 

au lieu de

über = "What the häck!" 

langues modernes sont spécifiées Pour permettre des caractères non standard dans les noms de déclaration via UTF-8, y a-t-il une raison particulière pour éviter cela dans un projet, qui ne concernera que des personnes capables de saisir ces caractères (par exemple pour une équipe d'étudiants allemands?) ou est-ce juste une raison historique?

Je sais que vous devriez garder des noms dans a-zA-Z_0-9 si vous développez un applicaio internationalement, mais y a-t-il une raison pour éviter cela dans un projet "local"?

+0

Cela pourrait être mieux comme un wiki communautaire. Je ne sais pas. –

+0

Hm ... Je ne suis pas très au courant des critères wiki de la communauté, mais AFAIK qu'ils comprennent, ce n'est pas une vraie "question" qui n'a pas de réponse bien définie. – fuz

Répondre

3

est-il une raison particulière pour éviter ceux-ci dans un projet, ce qui est sûr d'être seulement pour les personnes qui sont en mesure de saisir ces caractères

qui est certainement la principale raison. D'autres raisons qui viennent à l'esprit sont que de nombreux outils de développement, fonctions de recherche, éditeurs, analyseurs, documen- teurs, moteurs de recherche de code, etc. n'attendront pas d'entrée non-ASCII dans le code. En outre, vous ne savez jamais où votre code peut être utilisé un jour! Le plus petit projet d'école innocente peut devenir un bel outil Open Source qui s'utilise un jour dans le monde entier. Dans ce cas, l'ASCII est le plus petit dénominateur commun, au moins pour le moment.

1

J'ai dû travailler sur un projet lancé par des développeurs français. Ils ont passé beaucoup de temps à traduire leur programme en anglais lorsque plus de gens ont rejoint le projet. Apprenez cette leçon à vos élèves allemands, et non seulement ils pourront partager leur code avec les autres, mais ils n'auront plus besoin d'une variable über ou ueber non plus.

BTW, ü est un caractère alphabétique. + et - sont non-alphanumériques, et je dirais que c'est évident pourquoi ils sont détestés dans les noms de fonctions.

+0

Le problème est en fait, que l'enseignant ** force ** l'étudiant à utiliser des noms allemands :( – fuz

+0

BTW: Y a-t-il un autre terme pour dire ce que je voulais exprimer (caractères comme ü?) – fuz

+0

@FuZxxl ce que tu veux dire est caractères non-ASCII. –