| 

.NET C# Java Javascript Exception

2
Moin!
Vor kurzem gab es hier schon eine Diskussion über das Thema, was einen guten Programmierer ausmacht.(http://codekicker.de/lounge/macht-guten-Programmierer)

Darauf aufbauend würde ich gerne Wissen, was ihr denkt, welche Schritte man zuerst gehen sollte.

CI ist toll, Code Coverage sehr wichtig, Testgetrieben zu entwickeln eine gute Idee, Sprechende Variablen auch...allerdings finde ich mich immer wieder an dem Punkt, das ich alles auf einmal einbringen will und am Ende viel Zeit in Planung und Überlegung gesteckt habe, aber so weitermache wie bisher.

Als Beispiel will ich hier mal die Testgetriebe Entwicklung aufgreifen. Wenn man nicht auf einer grünen Wiese startet, sondern an einem existierenden Projekt, am besten für Kunden arbeitet, ist es nahezu unmöglich, als einzelner Programmierer TDD einzuführen.
Auf dem Papier ist es eine tolle Idee, jeder würde zustimmen das es gut wäre so zu Entwickeln. Eng wird es aber, wenn man seinem Kunden beibringen soll das die Entwicklung erstmal 2 Wochen brach liegt, da eine Testumgebung aufgebaut werden muss.(Bestehenden Code mit Tests versehen, Refactoring, einarbeiten der Programmierer etc.) Oder man 3 Tage frei braucht, um sich ins Thema einzulesen.

Also sollte man sich auf kleine Schritte fokusieren, die man selbst Umsetzten kann. Ein Beispiel ist hier das Wertesystem von http://www.clean-code-developer.de, hier werden nach und nach Sinnvolle kleine Happen geliefert, die man nach und nach in seine tägliche Arbeit einfließen lassen kann.

Aber Clean Code ist nur ein Teilaspekt des ganzen. Lohnt es sich noch SVN zu lernen, wenn GIT der neue Buzz ist? Muss ich HTML5(oder Technologie X) können um in 3 Jahren noch einen Job zu finden? Sollte ich als Webentwickler lernen, wie Threads funktionieren? Muss ich als Webentwickler einen Quicksort aus dem Kopf aufschreiben können? Muss ich neben meiner "Arbeitssprache"(die mit der ich Geld verdiene) auch weitere können?

Um es zusammenzufassen: Wie sollten eurer Meinung nach die ersten Schritte/die ersten Jahre eines Programmier Anfängers aussehen?
softwareentwicklung
News:
18.05.2012
DerElse 101 5
1 Beitrag
3
Ob das Erlernen einer neuen Technologie mit dem Kunden oder dem Chef besprochen werden muss (Stichwort: Fort- und Weiterbildung), kannst nur Du klären, da keiner Deine "Verhältnisse" kennt.

Ein kleiner Schritt wäre z. B. wenn in der existierenden Anwendung ein Fehler auftaucht, dass man versucht dafür einen ersten UnitTest zu schreiben. Vielleicht noch 2, 3 weitere Tests, die die richtige Funktion überprüfen. Dafür braucht es auch noch kein komplettes CI - System.

Oder SVN vs. GIT: Wer die zusätzlichen Features von GIT nicht benötigt, fährt immer noch gut mit SVN. Ich finde es gerade für den "Einsteiger" auch leichter zu verstehen.

Und mit den "Sprechenden Variablen" ...
Johannes Hofmeister hat einen Vortrag über "Emphatic Code" gehalten. Das ist die 1 Folie:
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."  
 Martin Golding.

Quelle: https://github.com/cessor/empathiccode
21.05.2012
Xantiva 2,3k 1 9
das Zitat ist genial!
kleffel 21.05.2012

Stelle deine Softwareentwicklung-Frage jetzt!