god bless apple

Nach gestern Abend ist es für mich noch ein Stückchen klarer geworden:

APPLE ist zur Zeit das beste Unternehmen im Bereich Computer-Hardware & Mobilitäts-Hardware, wenn es dieses Wort geben würde!
Nach der gestrigen Macworld Keynote zu einigen coolen neuen Produkten viel es mir schwer meine Kinnlade, welche im Laufe der Keynote untern Tisch gefallen war, wieder auf ein normales Niveau zu bekommen. Was gibt es nun neues?

  • MacBook Air (juhuuuuu!!!!)
  • Time Capsule
    • Die Möglichkeit BackUps zu machen, wireless!
  • Ein paar neue Apps. für den iPod Touch
  • Das iPhone Update

Also ich weiß, was auf meinem Wunschzettel steht:

  1. MacBook Air
  2. iPhone
  3. Time Capsule

😀

g²,

Johannes

Code Optimierung!

Zum neuen Jahr, macht sich jeder ein paar wenige Gedanken, was er besser machen könnte. In Sachen Entwicklug werde ich etwas mehr auf Code Optimierung achten, also hier mal was zu beachten ist:

Code Optimierung ist besonders bei „großen“ Applikationen ein wichtiges Thema, da sehr viel Code verarbeitet werden muss. Eins ist jedoch zu beachten, es muss ein Mittelweg gefunden werden zwischen performantem Code und lesbaren Code!

8 Code Optimierungs Tipps:

  • Variablen mit Typen Deklarieren
    • Bsp.: private var _diesIstEinString:String;
  • nicht die Funktion Array.length(); in einer Schleife oder in Schleifen Headern verwenden
  • vermeiden von mehreren Array lookups
  • Integer (int) für Counter und Array lookups verwenden
  • Number für mathematische Operationen verwenden (hierbei ist manchmal ein Integer schneller aber generell ist es rein nummerisch besser)
  • es ist performanter Variablen aufeinmal zu deklarieren!
  • multiplikationen sind schneller als divisionen!
  • auf Variablen direkt zugreifen ist performanter als mit getter oder setter Funktionen sich zugriff zu verschaffen

beachtet man diese Tipps kann eine nicht performante Schleife:

for(var i = 0; i < arrayOne.length; i++){
if(
arrayOne[i].enabled()){
        arrayOne[i].getX() = arrayTwo[i].getX()/2;
        arrayOne[i].getY() = arrayTwo[i].getY()/2;
        arrayOne[i].getZ() = arrayTwo[i].getZ()/2;
}
}


zu einer performanten Schleife umwandeln:

var length:int = arrayOne.length, i:int=0;
for(;
i < length; i++){
    objectOne:SomeObject = arrayOne[i];
    objectTwo:SomeObject = arrayTwo[i];
if(
objectOne._enabled){
        objectOne._x = objectTwo._x*0.5;
        objectOne._y = objectTwo._y*0.5;
        objectOne._z = objectTwo._z*0.5;
}
}

Wenn man Eclipse und FDT als Entwicklungsumgebung verwendet, kann man sich sogar sehr leicht sog. templates für soetwas erstellen:“Window->Preferences->FDT->Editor->Templates”:

var length:int = ${array}.length, ${integer}:int=0;
for(;
${integer} < length; ${integer}++)
{
    ${cursor}
}

Ein Frohes neus,

g²,

Johannes