Ich programmiere seit 20 Jahren, und ich habe so gut wie nie eine Codezeile geschrieben, auf der ich keine Art von Komponententest durchgeführt habe - ehrlich gesagt, ich weiß, dass Leute es die ganze Zeit tun, aber wie Jemand kann eine Codezeile versenden, die noch nicht getestet wurde.
Oft, wenn es kein Testframework gibt, schreibe ich einfach eine main() in jede Klasse, die ich schreibe. Es fügt Ihrer App ein wenig Gruft hinzu, aber jemand kann es immer löschen (oder auskommentieren), wenn sie es wollen. Ich wünschte wirklich, es gäbe nur eine test() -Methode in Ihrer Klasse, die automatisch für Releasebuys kompiliert würde - ich liebe meine Testmethode in der gleichen Datei wie mein Code ...
Also habe ich beides gemacht Test Driven Entwicklung und Tested Entwicklung. Ich kann Ihnen sagen, dass TDD wirklich helfen kann, wenn Sie ein beginnender Programmierer sind. Es hilft Ihnen, Ihren Code "Von außen" zu sehen, was eine der wichtigsten Lektionen ist, die ein Programmierer lernen kann.
TDD hilft Ihnen auch, wenn Sie stecken bleiben. Du kannst einfach ein sehr kleines Stück schreiben, von dem du weißt, dass es dein Code zu tun hat, dann führe es aus und repariere es - es macht süchtig.
Auf der anderen Seite, wenn Sie bestehenden Code hinzufügen und ziemlich genau wissen, was Sie wollen, ist es eine Toss-Up. Ihr "Anderer Code" testet Ihren neuen Code oft an Ort und Stelle. Sie müssen immer noch sicher sein, dass Sie jeden Pfad testen, aber Sie erhalten eine gute Abdeckung, indem Sie die Tests vom Front-End aus durchführen (außer für dynamische Sprachen - für diejenigen, die wirklich Unit-Tests für alles haben sollten, egal was).
Übrigens, als ich auf einem ziemlich großen Ruby/Rails-Projekt war, hatten wir einen sehr hohen Prozentsatz der Testabdeckung. Wir haben eine große, zentrale Modellklasse in zwei Klassen unterteilt. Es hätte zwei Tage gedauert, aber mit all den Tests, die wir umgestalten mussten, war es knapp zwei Wochen her. Tests sind NICHT komplett kostenlos.
Bitte machen Sie dieses Community-Wiki, da es mehr ist als Umfrage als echte Frage. –
Dies sollte eine echte Frage sein, und nicht noch eine weitere Umfrage. Ich würde es vorziehen, wenn Omar die Frage leicht umformuliert, um sie zu einer richtigen Frage zu machen, und nicht um eine Umfragefrage. –
Ich bin glücklich, um zu redefinieren, ich bin nicht sicher, was ich es umschreiben soll. –