Zum Inhalt springen

Monat: Oktober 2010

Die Leiche im Keller finden

Im Lebenszyklus eines Projekts werden immer wieder neue Features gewünscht, entwickelt und angepasst. Mit der Zeit ändert sich auch der Entwicklerstamm und Wissen geht mit den Entwicklern. Somit entsteht ein Bodensatz von Quellcode, den man nicht nutzt. Dabei handelt es sich um toten Code. Diesem rücken wir heute zu Leibe.

Die Reflection API von PHP

Viele Frameworks arbeiten auch unter PHP mit Annotations oder Enums. Da fragt man sich oft, wie das denn möglich ist, da PHP diese Sprachkonstrukte gar nicht unterstützt. Hierfür gibt es eine API und eine entsprechende Implementierung, die die ganze Magie ausmacht. Es handelt sich dabei um Reflection. In anderen Sprachen ist der Begriff Introspection ganz beliebt und zu Deutsch heißt das ganze dann Reflexion. Ich bevorzuge Reflection, da man so einen direkten Bezug zur Implementierung herstellen kann.

Code Sniffer – ein Update

Der CodeSniffer wird immer weiter entwickelt und mit der neusten Version werden die Standards von PHP-Klassen zu xml-Definitionen umgestellt. Dies hat den Vorteil, dass diese übersichtlicher sind und einige neuen Funktionen Einzug erhalten. Zum Entstehungszeitpunkt dieses Artikel ist die neue Version des CodeSniffers noch im Beta-Stadium. Entwickler die mit der Zeit gehen – insbesondere welche die CI-Server verwalten – sollten aber trotzdem schon einen Blick auf diese Neuerung werfen, um bei dem nächsten Update nicht überrascht zu sein.

Binary Trees

Heute muss ich leider auf einen nicht ganz so super spannenden Artikel zurückgreifen. Nachdem ich gestern gemerkt hatte, dass die neuen Beiträge nicht mehr bei Twitter auftauchen, musste ich dem Problem auf den Grund gehen und hoffe, meine Follower wieder „nerven“ zu können.
Nun aber zum eigentlichen Thema: Binary Trees. Vor kurzem haben wir uns im Kreis der Kollegen über kleinere Performance-Probleme unterhalten und sind zu den Binärbäumen gekommen. Ich dachte mir, so eine Datenstruktur kann man sicher auch mit PHP basteln und bin eine Beispielimplementierung angegangen.

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close