L'exemple spécifique que j'ai en tête concerne le jeu actuellement alpha, Minecraft, mais c'est une question générale qui, je pense, mérite une conversation.
Minecraft est écrit en Java, et les traces de pile ressemblent généralement à ceci (exemple réel):
java.lang.NullPointerException
at d.a(SourceFile:247)
at gi.b(SourceFile:92)
at bd.a(SourceFile:33)
at bn.a(SourceFile:69)
at bn.e(SourceFile:115)
at bn.d(SourceFile:103)
at net.minecraft.client.Minecraft.i(SourceFile:1007)
at net.minecraft.client.Minecraft.run(SourceFile:596)
at java.lang.Thread.run(Unknown Source)
Évidemment, ce ne sont pas les vrais noms de package et de méthode que le développeur utilise lorsqu'il écrit. Puisqu'il est en phase alpha, il semble que le développeur souhaite pouvoir comprendre les traces de sa pile, surtout si quelqu'un est en mesure d'en fournir une pour un rapport de bogue. Dans l'état actuel des choses, cela n'a pratiquement aucun sens.
Quel avantage pourrait-on espérer gagner en obscurcissant son code comme celui-ci qui surmonte les inconvénients d'une identification de bogue plus difficile?