06 Mai 2008 @ 6:19 PM 

Für Nicht-Programmierer ist folgendes normal
1 Programmierer > Projekt dauert 2 Wochen
2 Programmierer > Projekt dauert 1 Woche
4 Programmierer > Projekt dauert 1/2 Woche
Programmierer wissen das es nicht so ist,
auch wenn mehr Programmierer weniger Aufwand für den einzelnen bedeuten,
so ist das Zusammenspiel das wirklich schwierige.
Erfahrene Programmierer benutzen CVS oder SVN aber auch da können mehr als genug Probleme auftauchen.
Hier einfach mal ein paar Beispiele wie es gehen kann: Auflösung was gut und was schlecht ist, seht ihr im Spoiler, bitte schaut nicht vorher nach, schaut einfach was ihr gemacht hättet und dann rechnet eure Punkte zusammen Wink

1. Situation

Ihr habt eine Klasse die eine ganz tolle Funktion hat.
Eines Tages schreibt ihr eine viel bessere Funktion die viel tollere Sachen kann
Version 1:

/**
* Ganz Tolle Klasse mit tollen Funktionen<br/>
* <br/>
* History:<br/>
* <uL>
* <li>1.0 erste Version</li><
* <li>1.1 tolleFunktion mit nochTollereFunktion ersetzt</li>
 * </ul 
 *  
 * @author Name 
 * 
 */ 
 public   class  TolleKlasse {
 /** 
      * Macht was ganz tolles 
      *  
      * @author m 
      * @param argument1 
      * @deprecated 
      * @see nochTollereFunktion 
      */ 
 public   void  tolleFunktion( int  argument1){
 // Kompatibilitaetsvariable 
 int  standardargument=0;
nochTollereFunktion(argument1, standardargument);
    }
 
 /** 
      * Macht was viel tolleres 
      *  
      * @author m 
      * @param argument1 
      * @param argument2 
      *  
      */ 
 public   void  nochTollereFunktion( int  argument1,  int  argument2){
 // mache was viel tolleres 
}
}

2. Version

 public   class  TolleKlasse {
 /** 
      * Macht was ganz tolles 
      *  
      * @param argument1 
      * @see nochTollereFunktion 
      */ 
 public   void  tolleFunktion( int  argument1) throws Exception{
 throw   new  Exception("veraltet, benutze nochTollereFunktion" );
    }
 /** 
      * Macht was viel tolleres 
      *  
      * @param argument1 
      * @param argument2 
      *  
      */ 
 public   void  nochTollereFunktion( int  argument1, int  argument2){
 // mache was viel tolleres 
}
}

3. Version

 public   class  TolleKlasse {
 /* 
     public void tolleFunktion(int argument1) throws Exception{ 
     //macht was ganz tolles 
     } 
     */ 
 public   void  nochTollereFunktion( int  argument1,  int  argument2){
 // mache was viel tolleres 
}
}

2. Situation

Das ganze Team benutzt eine Datenbankklasse, ihr findet einen Bug(ein Problem), wenn man ganz bestimmte Abläufe hintereinander ausführt
1. Version

Zitat:

Ihr schaut wer die Klasse zuletzt eingecheckt hat und schreit die Sau wegen seiner buggy Programmierung an

2. Version

Zitat:

Ihr analysiert, bei welchen Abläufen das Problem auftritt.
Ihr schreibt in den Bugtracker(zB Bugzilla) einen Bug an den Autor.

3. Version

Zitat:

Ihr scheisst auf euer Team und schreibt eurer eigene Datenbankklasse ... alle Doof ausser Mama

3. Situation

Ihr sollt schnell ein "neues Feature" Programmieren,
es ist Freitags um 15 Uhr,
die Sonne scheint, es sind 20 C
1. Version

Zitat:

Schnell Programmieren, commit , ich will heim.

2. Version

Zitat:

Ihr sagt, das es nicht schnell, sondern nur ordentlich geht,
sagt man soll einen Bug anlegen,
Features beschreiben,
am Montag werdet ihr dann programmieren und testen

3. Version

Zitat:

Freitag 15 Uhr ? woher haben die meine Festnetznummer ?

Für Programmierer sicher einfach, für nicht-Programmierer evtl auch, da ich es schon frustriert geschrieben habe,
trotzdem hier die Auflösung:

Situation 1:
>1 IDEAL > 10 Punkte
>2 Schrott > 0 Punkt
>3 Absoluter schrott > -10 Punkte
Situation 2:
>2 IDEAL > 10 Punkte
>1 nicht schön, aber auch richtig > 1 Punkt
>3 Absoluter schrott > -10 Punkte
Situation 3:
>2 IDEAL > 10 Punkte
>3 ich werd neidisch >1 Punkt
>1 Absoluter schrott > -10 Punkte
Auswertung :
> 10 Punkte
Charakter: Ihr programmiert sorgsam und gut.
Typische Projekte: Google (egal welches Projekt) , Ubuntu, Ecclipse, WebKit
0- 10 Punkte
Charakter: Ihr müsst noch einiges lernen, ist euch aber egal, hauptsache eure Sachen funktionieren
Typische Projekte: Microsoft Office 2007, JDBC, MySQL
unter 0 Punkte
Charakter: Ihr arbeitet bei Microsoft - Ihr habt Extremen Zeitdruck - Oder ihr seit einfach nur Doof
Typische Projekte: Microsoft Windows Vista, Internet Explorer

Posted By: tkdmatze
Last Edit: 16 Mrz 2009 @ 12:40 PM

EmailPermalinkComments (1)
Tags
Categories: MyWeb

 Last 50 Posts
 Back
Change Theme...
  • Users » 2
  • Posts/Pages » 30
  • Comments » 6
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight