33 votes

# si 0 vs # si (1> 1)? Tout indice

Je travaille avec un code hérité et j'ai trouvé ceci:

 #if (1 > 1)
//define some function
#endif
 

Vous ne savez pas comment cela peut être différent des #if 0 les plus typiques, pour commenter le code? Des pensées?

69voto

chqrlie Points 17105

Les deux expressions sont fausses, donc le code n'est jamais compilé.

Voici les explications possibles pour expliquer pourquoi le programmeur n'a pas voulu utiliser l'évidence #if 0 directive de préprocesseur pour désactiver une section de code:

  • le programmeur n'a pas voulu grep '#if 0' trouver son extrait de code.
  • le local des conventions de codage interdire #if 0 et, éventuellement, de faire appliquer cette règle avec un script. Le programmeur trouvé un tordu contourner.
  • un programmeur éditeurs (par exemple, vim) coloriser #if 0 sections de commentaires, en utilisant un autre préprocesseur expression de défaites cette.
  • le programmeur peut avoir la pensée d'une expression booléenne est nécessaire après l' #if. L'utilisation des parenthèses prend en charge cette explication, mais seul le programmeur peut dire.
  • le code original a #if (OPTION > 1) et OPTION a été changé pour 1 avec un sed script ou quelque autre texte global méthode de remplacement.
  • le programmeur peut-être voulu pour attirer la prochaine attention du lecteur. Soit pour un drôle d'objet ou de certains autres obscur objectif. Objectif atteint dans ce cas.
  • comme indiqué dans certains commentaires, cela pourrait être une tentative boiteuse à obfusquer le code, afin d'augmenter la sécurité de l'emploi... Pour cela, je suggère que les obtient opérateur: #if (0 <- 1) ou le appromixator: #if (1 ==~ 1).

2voto

jotik Points 4287

Je pense que le (1 > 1) agit comme un commentaire pour le lecteur. C'est un smiley ou une autre émoticône! :-)

Il aurait également été possible d'écrire (0>0) ou similaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X