„The Social Network“ – ein Film von und für Programmierer

5 Kommentare

Gestern Abend hab ich den Film „The Social Network“ über Mark Zuckerberg den Gründer von Facebook gesehen. Meiner Meinung nach ein Must-Seen für Programmierer, denn es werden darin (unter anderem) 3 Punkte aufgezeigt, warum sein „Webprojekt“ so erfolgreich war:

1. Finde die simple Idee
Wenn man mal erfolgreiche Ideen/Produkte vergleicht, wird man feststellen, das bei den allermeisten eine simple Idee zugrunde lag, mit welcher sich das entsprechende Produkt von allen anderen abgegrenzt hat. Die Betonung liegt hierbei auf „simpel“ – einfach, unkompliziert, selbsterklärend. (=> KISS)
Bei Facebook war es die Exclusivität, die man plötzlich mit einer niedrigeren Einstiegshürde erreichen konnte und mit der „das wichtigste“ des Uni Alltags virtuell und einfach abgebildet wurde.

2. Geh in den Tunnel
Immer wieder war davon die Rede, eine Person ist gerade im Tunnel und darf deshalb nicht gestört werden. Ich behaupte mal, dass wenn man sich in seine Programmierung vertieft hat, sich also alle Sinne ohne Ablenkung um den Code drehen, ist man 3 mal so effizient, wie wenn man „aus dem Schlaf heraus“ loslegen soll.

3. Begib dich in eine kreative Umgebung
Als schon klar war, das Facebook „cool“ ist (Zitat), ziehen die Entwickler nach Kalifornien. Die erste Szene in deren Haus zeigt, wie Sie Blödsinn man machen und vom Dach des Hauses in einen Pool springen – drinnen hockt einer gerade an nem Rechner.
Wenig später (im gleichen Haus) sind zwei Mädls am Party machen: Playstation, Bong, Saufen. Dahinter hocken ne Handvoll Entwickler im Tunnel.
Ok, das mag etwas übertrieben sein und scheint schon fast sogar Punkt 2 zu widersprechen, aber Inspiration ist nun mal etwas, was nicht von alleine kommt. Kreative Umgebung sieht immer anders aus, jeder hat seine eigenen kreativen Bedürfnisse: Musik, Kunst, Natur… aber wohl eher selten grauer Büroalltag!
Was ich damit sagen will: macht aus eurem Arbeitsplatz eine Umgebung in der ihr euch wohl fühlt.

Natürlich sind das nicht alle Voraussetzungen um erfolgreich zu sein, geschweige denn guten Code zu schaffen. Aber so zumindest das Grundlegende, was man oft übersieht.
Mehr Tipps und Tricks findet ihr im CCD-Wertesystem. :)

PS: ich mag Facebook nicht. Ich glaub ich lösch mich jetzt.

Modularität ist ein Segen!

2 Kommentare

Jetzt arbeite ich am zweiten Shopsytem diese Woche und ich kann einfach nur kotzen.
Bitte … bitte … wenn du eine Webapplikation strickst: Mach sie Modular!
Dabei sollte jedes Modul und jede Klasse austauschbar, erweiterbar und am besten auch wiederverwendbar sein – und das am besten OHNE irgend eine Datei überschreiben zu müssen.
Selbst „Kern“ Modul sollte man austauschen können. Das würde vieles soviel einfacher machen.

Magento ist da ein sehr schönes Vorbild, auch wenn andere Bereiche des Systems nicht so top sind, was Modularität anbetrifft, kann man sich da echt ein Stück von abschneiden.

Unicode Variablen in PHP funktionieren!

Hinterlasse einen Kommentar

Ich wurde gerade von einem Kollegen drauf gebracht und musste es gleich ausprobieren: Unicode Variablen in PHP funktionieren! :)
$ュ = 'this ';
$ア = 'are ';
$ル = 'japanese ';
$ニ = 'vars';
echo $ュ.$ア.$ル.$ニ; //this are japanese vars

Mehr

nicht private Eigenschaften vermeiden

Hinterlasse einen Kommentar

Heute bin ich zusammen mit einem Kollegen mal unsere internen Checkstyle Regeln durchgegangen um die Sinnhaftigkeit jeder einzelnen gegebenenfalls zur Diskussion für alle Entwickler freizugeben. Dabei sind wir unter anderen auf folgende interessante Regel gestoßen:
Eigenschaft X soll private sein„.
Mit dieser Regel sollen alle protected und public Eigenschaften (=Felder, Properties, Klassenvariablen) vermieden werden. Meine Kollege meinte sogar, dass selbst auf private Eigenschaften am besten nur über getter und setter zugegriffen werden sollte – also aus der eigenen Klasse heraus. Ausgenommen sind nur Konstanten.

Die Vorteile dieser „Privatisierung“:

  • die Sichtbarkeit kann genauer eingestellt werden
  • fehlerhafte Werte können abgefangen werden (auf default/fallback Werte zurückgreifen)
  • es ist möglich, Objekte erst beim Aufruf zu instanzieren (Lazy Loading)
  • AOP kann eingesetzt werden (=> Sicherheit, Caching, Tracking/Logging)