Carsten: a bissle overschämt is scho

Beitrag lesen

Hey Dey,

Ich bin mir schon im klaren, dass mein Anliegen ein bischen frech ist, da der Code aber sehr kompliziert scheint...

Deswegen gibt es jetzt auch voll die Self-Antwort:

gb.js: ...

Der Code ist so völlig unlesbar.
Das kannst _du_ ganz einfach ändern. Rücke den Code richtig ein und vergebe einigermassen sinnvolle Variablennamen.
Das geht ohne das man den Code verstehen muss. Hinterher ist es dann aber einfacher das Ganze zu lesen.

Beispiel:

var q_text=['A','11','Alwor%3F','%28ee%3F','2','lwor','%3F','%28'];
decode(q_text);
function decode(text)
{
  var re = /+/gi;
  var code_u='u'.charCodeAt(0);
  var code_backslash='\'.charCodeAt(0);
  for ( var k=0;(k<text.length) ;k++)
  {
    var ziel='';
    var c=unescape(text[k].replace(re, ' '));
    for (var n=0;n<c.length;n++)
    {
      var b=(c.charCodeAt(n))-2;
      var a;
      if (b==code_backslash && k < text.length+5 && (c.charCodeAt(n+1)) - 2 == code_u)
      {
        eval('a = "\u' + c.substring(n+2,n+6) + '";');
        n+=5;
      }
      else if (b==code_backslash && k < text.length && (c.charCodeAt(n+1)) - 2 == code_backslash)
      {
        a='\';
        n+=1;
      } else if (b<=0)
        a=String.fromCharCode(b+255);
      else
        a=String.fromCharCode(b);
      ziel+=a;
    }
    text[k]=ziel;
  }
}

Die Variablen habe ich einfach erstmal irgendwie 'üblicher' benannt, hauptsache erstmal das man sie auseinanderhalten kann. (Einfach mit Replace im Editor deiner Wahl ersetzen.)

Gruss,
  Carsten