Eine Zeile reicht auch aus

Montag, August 25th, 2008

Es gibt viele Möglichkeiten einen Kurzen Code zu schrieben, ein paar werde ich hier zeigen. Solche Techniken kann man in vielen Programmier Sprachen einsetzen. Durch diese Abkürzungen spart man zum Beispiel im JavaScript an Download Trafic, was bei großer anzahl an Anfragen schon was rein bringt.
Kleiner Rechen Beispiel: Man kürzt den Script sagen wir mal um 8 Bytes das können schon Acht Buchstaben sein. Beim einem Request ist es lächerlich, bei 1000 auch bei einer Million werden es schon 7,8 Mb. Wenn man jetzt aber ein paar Zeilen an Code ersetzt, kann es bei den Größten wie Google und Youtube schon an Tb an Trafic pro Monat ein Sparren. Aber bei den Flatrates ist es eigentlich egal.
Der andere Vorteil ist bei manchen Abkürzungen ist, dass der Code etwas schneller abgearbeitet werden kann. Der Nachteil ist, dass die Leserlichkeit etwas leidet für die die nicht so Fit im Coden sind.

Hier sind ein paar:

function isEqual () {
 if(a == b)
  return true;
 else
  return false;
}

ersetzt durch

function isEqual () { return (a == b ? true : false); }
 
oder
 
function isEqual () { return (a == b); }
function get () { 
 $a = $myClass->getA();
 if($a != null)
  return $a;
 else
  return null; 
}

ersetzt durch

function get () { 
 if(($a = $myClass->getA()) != null)
  return $a;
 else
  return null; 
}
 
oder
 
function get () { return (($a = $myClass->getA()) != null ? $a : null); }

Nur Javascript

function getTime () { 
 var d = new Date();
 return d.getTime();
}

ersetzt durch

function getTime() { return (new Date()).getTime(); }

Durch die () Klammern setzt man eine Verschachtelung die dann direkt weiter bearbeitet oder genutzt werden kann.

Und noch ein Beispiel:

function eventHandler(e) {
 var evt,elm;
 if(e)
  evt = e;
 else 
  evt = window.event
 
 if(evt.target)
  elm= evt.target;
 else 
  elm = evt.srcElement;
}

ersetzt durch

function eventHandler(e) {
 var evt = e ||window.event;
 var elm = evt.target || evt.srcElement;
}

Diese Techniken sind sehr schnell beim Schreiben als auch beim Interpretieren. Beim schnellen Coden fahlen sie aber nicht sofort ein. Nach dem man aber den Code Entwickelt hat, merkt man beim durchschauen, dass solche Techniken schon da reinpassen würden.