Конкретный пример, который я имею в виду, касается текущей альфа-игры Minecraft, но это общий вопрос, который, я думаю, заслуживает некоторого разговора.
Minecraft написан на Java, и трассировки стека обычно выглядят так (реальный пример):
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)
Очевидно, что это не настоящие имена пакетов и методов, которые разработчик использует, когда пишет. Поскольку он находится в стадии альфа, кажется, что разработчик хотел бы иметь возможность разобраться в его трассировках стека, особенно если кто-то может предоставить его для отчета об ошибках. Поскольку это стоит, это в основном бессмысленно.
Какое преимущество можно было бы надеяться получить, запутав свой код таким образом, чтобы преодолеть недостатки более сложной идентификации ошибок?