DSL (Domain Specific Language) und Fluent-Interface

by admin 18. August 2007 02:44

Ich arbeite gerade an Testmethoden und habe mich über folgenden Code gefreut, weil er ein relativ komplexes Thema ziemlich lesbar gestaltet. Der Test ist natürlich grün :-)    (Clicken für Originalgrösse) Das Setup für die Tests ist mir immer noch einen Tick zu lang und ich werde wohl noch refaktorisieren. Auch werde ich gleich noch ein paar mehr Asserts hinzufügen. Erzeugt werden 8 Angebote mit jeweils 4 und 3 Eigenschaften. Sticker haben hier keinen Preis, sind also kein echtes Angebot aber für den Test reicht das komplett. Die Angebote lassen sich mit einem Einzeiler persistieren. Die Flyer und Sticker Klassen Definition und Helper Klassen werden via XML Configurationsfiles generiert, was auch den Sprach-Mix erklärt. Ursprünglich war das nur gedacht um schnell und einfach Tests schreiben zu können, nun ergeben sich aber noch ein paar andere Vorteile. Das Endprodukt läst sich so relativ flexibel befüllen. Für ein paar 10 000 Produkte braucht es nur wenige Zeilen... Komisch, in den letzten 4 1/2 Wochen habe ich 7100 Zeilen Code (oben sieht man 30 Zeilen ;) fürs das Backend unserers Produktes geschrieben. Nach dem ich die letzten Tage ein wenig panisch geworden bin, vor allen Dingen wegen vager Anforderungen und  Unwissenheit über Zielgruppen und Märkte, scheint sich doch noch alles zusammen zu fügen. Trotzdem steht jetzt erstmal Crunch-Time an. Lets Rock'n Roll :-)

Chaos report - desaster and failure

by admin 2. August 2007 01:47

Die "Standish Group" untersuchte über 40 000 Software-Projekte innerhalb von 10 Jahren. Hier der (gekürzte ;-) "Standish Chaos Report": Software projects: 1995: 16% succeed 31% fail 53% are challenged 2004 29% succeed 18% fail 53% are challenged via "Scott Rosenberg @ google talks" - wenig technisch und immer nett zu hören wenn proklamiert wird, das Software Entwicklung ein hartes Geschäft ist. (Leider) nichts für Mädchen :-) Für den liquiden Interessierten sind die "Standish Group" Reports hier zu kaufen.

Microsoft ist keine Gefahr

by admin 27. July 2007 05:06

Mark Shuttleworth stellt in seinem Post ein paar interessante Dinge fest: durch Microsoft ist Sofware so billig wie nie zuvor Microsoft ist durch Patente genauso angreifbar wie OSS (Open Source Software) Linux ist im Desktopmarkt zu klein um ein lohnenswertes Ziel zu sein Die Feststellungen sind aus dem Kontext gezerrt. In dem Post dreht es sich um Patentrecht um dessen Akteure, sowie mögliche Bedroher für Linux (GNU/Linux;-).

Projektplanung und Schwangerschaft

by admin 8. July 2007 00:20

"9 Frauen und 1 Monat machen kein Baby" :-) Das ist die köstlich, ironische Zusammenfassung der Erfahrung, dass das Hinzufügen von Ressourcen nicht zwangsläufig zu einem schnelleren Projektende führt. Wobei wenn Projektplaner so genau wären wie Geburtstermin-Ermittler, wäre die Software-Industrie verändert. Das Terminermittlungsproblem ist jedoch nicht Software spezifisch. Regelmäßig höre ich von Bauvorhaben, die ihr ursprüngliches Kostenvolumen um ein vielfaches überschreiten. Zum Beispiel wurde der Berliner Hauptbahnhof für 700 Mio projektiert und kostete dann 1 Mrd Euro. Wobei noch 200 Mio Euro gespart wurden, in dem Teile weggelassen wurden. Genau genommen erscheint es mir so, als ob das nicht halten können von Zeitplänen und Terminen Alltag in fast allen Bereichen der Gesellschaft ist. Es hilft wohl nur sich damit zu arrangieren und immer wenn das Thema Zeitplanung Relevant wird, auch für Ungenauigkeit zu planen - durch bessere Verträge und finanzielle Reserven.Und hey, ist Risiko nicht Teil eines jeden Geschäfts und wenn alles detailiert planbar wäre, würde sich dann nicht langweile breit machen? Doch auch hier hilft viel nicht viel, das ist bei Risiken nicht anders und so ist gute, gekonnte Planung wesentlich für Risikovermeidung. 9 Risiken machen kein erfolgreiches Geschäft.

Michael Arrington von Techcrunch.com über Start-Ups

by admin 4. July 2007 21:42

Auf der "The Future of Web Apps" Konferenz, auf der unter anderem auch Jeffrey Veen von Google, Kevin Rose von digg, Cal Henderson von Flickr und Tom Coates von Yahoo sprachen, hielt auch der Gründer und hauptsächliche Schreiber von techcrunch.com, Michael Arrington, einen Vortrag. Techcrunch.com Heute als Guru für Web Applikationen bekannt, geliebt und gefürchtet, ging Michael Arrington seinem Hobby nach, über Start-Ups von Web Applikationen zu schreiben und startete die Seite techcrunch.com. Heute verfügt sein blog über atemberaubende 430.000 Abonennten und ist maßgeblich an dem Erfolg oder Misserfolg von neuen Web Applikationen beteiligt. Da Arrington sich 15 Stunden am Tag mit Web Applikationen beschäftigt, sollte sich da einiges an Know-How angesammelt haben, was den Erfolg oder Misserfolg von Applikationen anbelangt. Wie macht man es richtig? Das wohl zentralste Kriterium für eine erfolgreiche Web Applikation, so Arrington, sei, ob sie herausrage. Das klingt einfach, was jedoch dahinter steckt ist der Umstand, dass es nicht reicht, eine gute Anwendung zu bauen (oder gar nachzubauen), die unter funktionalen und ästethischen Gesichtspunkt bestehen kann. Der Standard, dass man seinen Beruf lieben muss, fehlt auch bei Arrington nicht, wobei ich denke, dass es für das Web noch viel eher gilt, als für "normale" Geschäfte, da die Konkurenz tatsächlich global ist. Ein tatsächlich guter Tipp für eine Applikation ist, "Reibung im Prozess zu minimieren". Wenn deine Applikation Arbeit verringert, Abläufe vereinfacht, Zeit und Geld spart, wird sie sich sicher durchsetzen. Was sind typische Fehler? Arrington berichtet von überfinanzierten Applikationen, zu großen Versprechungen, die nicht eingehalten werden können, features, die keinen Sinn ergeben (squidoo.com). Er empfiehlt darüber hinaus, möglichst klein anzufangen, nicht überzufinanzieren und zu schauen, wie sich das Unternehmen entwickelt. Auch auf der persönlichen Ebene gibt es genug Bespiele, dass Start-Ups auseinanderbrechen, weil das Team sich zerstritten hat. Die Anforderung, stets ein funktionierende Einkommens-Modell zu haben, hinterfragt Arrington: youtube.com als wohl erfolgreichster Vertreter dieser Gruppe. Fazit "Wenn du glaubst, du kannst flickr schlagen, dann tu es!" ;) "The Future of Web Apps" Neben Michael Arringtons Rede gibt es auf der Seite zu dem Kongress noch andere hörenswerte Beiträge zum Thema Web Applikationen, Start-Ups, Iteration, Software-Entwicklung, Features, etc. Definitiv lohnenswert. andrej.

Web Designer/Developer und Usability Experte?

by admin 25. June 2007 20:06

In seinem heute auf useit.com veröffentlichten Artikel schreibt usability-Guru Jakob Nielson, ob es sinnvoll sei, Web Designer und Developern auch usability-Tasks zu übertragen. Der Begriff "Usability" ist seit einiger Zeit ein Schlagwort der Web-Welot geworden, hat aber leider kein treffendes Äquivalent im Deutschen und bezieht sich im Wesentlichen auf Benutzerfreundllichkeit einer Web-Seite. Pros Als Hauptargumente für die Zusammenlegung der Arbeitsbereiche führt Nielson an, dass zum einen Arbeitskraft eingespart werden könne und andererseits die Glaubwürdigkeit erhöht würde, da derjenige der das Design/die Applikation erstellt auch gleichzeitig sich um deren usability kümmert. Cons Dagegen hält er, dass Spezialisten stets bessere Ergebnisse liefern und auf der anderen Seite die Objektivität im Einschätzen der eigenen Tätigkeit zu wünschen übrig. Da sich die Design/Developer-Vrogaben gegenüber den Usability-Vorgaben durchsetzen können. Fazit Es ist von massivem Vorteil, wenn man sich als Developer und Web Designer mit zumindest den Grundlagen von Usability auseinandersetzt, da man konzeptionell Dinge anders anpackt und durchdenkt. Zwar ist ein finales Überprüfen durch einen Spezialisten sicherlich eine gute Investition, jedoch denke ich gilt auch hier die 80/20-Regel. Der Spezialist wird im Fine-Tuning das ein oder andere Detail anpassen können, wenn jedoch die Applikation oder Web Seite von Grund auf nicht funktioniert, wird er dies nicht mehr richten können. Weiterführendes zu Usability (auf Englisch homepage von Jakob NielsonUsability-Forum hallwaytesting.com Leitfäden zu Usability und Accessebility "Dont' Make me Think" (link zu Amazon.de) - sehr lesenswertes Buch von Steven Krug

Moonlight Hackathon

by admin 21. June 2007 14:05

Miguel de Icaza beschreibt sehr detailiert wie ein kleines Team Silverlight innerhalb von 21 Tagen für Linux portierten. Beeindruckend ist der Arbeits , Schlaf- und Wachrhythmus über die Kontinente verteilt. Schichtarbeit getrieben durch Enthusiasmus:-) Die Problemstellung (Grafik-Engine mit einer Unmenge von Möglichkeiten, viele drum herum z.B. Installer) war mehr als komplex. Für mich als .NET Entwickler ist es eine gute Nachricht wenn ein Team von Alpha-Geeks eine neue Technologie derartig schnell und begeistert aufnimmt. Es schaft Vertrauen, wenn .NET und begleitende Technologien wie WPF aktiv für und auf anderen Platformen, wie Mac, Linux, Mobile Devices entwickelt und gefördert werden. Der Artikel ist hier zu lesen: Implementing Silverlight in 21 Days.

web applikationen suchen und finden! mit Simple Spark

by admin 21. June 2007 11:44

Da Robert und ich auch längere Zeit darüber nachgedacht hatten, einen Katalog für Web Applikationen zu bauen, freue ich mich eine Lösung zu sehen, die zwar nicht ganz dem entspricht, was wir im Hinterkopf hatten, jedoch eine durchaus funktionale und solide Lösung darstellt: Die englisch-sprachige Seite zum Suchen und Finden von web-basierten Applikationen: simplespark.com. Features Das wohl bestechendste feature ist der unglaublich Umfang der Datenbank von Web Applikationen, die Simple Spark als Grundlage hat. So findet man für den Suchbegriff "collaboration" unglaubliche 143 Einträge. Dabei sind Klassiker wie basecamp, wikis wie Wetpaint oder eher grafisch-orientierte Tools wie thinkature oder conceptshare, stets mit screenshots. Darüber hinaus werden die verschiedenen Applikationen nach Kategorien sortiert, die im Moment noch ein wenig willkürlich erscheinen. Man kann Web Applikationen in einem persönlichen Ordner speichern und bewerten und sogar eigene Vorschläge hinzufügen. Finden von Web Applikationen Zentral für den Erfolg der Seite ist jedoch die Frage, ob Nutzer, die sich kostenfrei anmelden können, zu den verschiedenen Web Applikationen Berichte schreiben und Bewertungen abgeben werden (derzeit noch. Denn ohne Einschätzungen anderer Nutzer oder von Redakteuren sind 143 Suchergebnisse schlicht und ergreifend eine unüberschaubare Menge und die richtige Applikation auszuwählen wird schier unmöglich. Zumal derzeit auch noch keine Sortierfunktion eingebaut ist. Fazit Insgesamt sehr ansprechend gestaltete Seite, grafisch und usability technisch. Ob sie sich durchsetzen kann, liegt an der Beteiligung der User. Ich habe meine erste Bewertung schon geschrieben ;) andrej

Single Responsibility Principal vs. Code Duplication

by admin 12. June 2007 14:05

Code Duplication ist einer der populären Code Smells. Um so interessanter ist die Frage, wann Code Duplication sinnvoll ist. Ein lesenswerter Blog-Eintrag von Ayende Rahien: When-should-you-encourage-code-duplication.

Programmierer Persönlichkeitstest

by admin 6. June 2007 21:49

Hier der Test für Deine Programmiererpersönlichkeit: Doolwinds programmer personality test. Nicht ganz ernst gemeint :-) Hier mein Ergebniss: You're a Doer. You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money. You like coding at a High level. The world is made up of objects and components, you should create your programs in the same way. You work best in a Solo situation. The best way to program is by yourself. There's no communication problems, you know every part of the code allowing you to write the best programs possible. You are a Conservative programmer. The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently. Hier ist Chris Sells Ergebnis: (DHSB).

About Oliver

shades-of-orange.com code blog logo I build web applications using ASP.NET and have a passion for jQuery. Enjoy MVC 4 and Orchard CMS, and I do TDD whenever I can. I like clean code. Love to spend time with my wife and our daughter. My profile on Stack Exchange, a network of free, community-driven Q&A sites

About Anton

shades-of-orange.com code blog logo I'm a software developer at teamaton. I code in C# and work with MVC, Orchard, SpecFlow, Coypu and NHibernate. I enjoy beach volleyball, board games and Coke.