Wie TDD die Entwicklung vorantreibt

Es gibt viele Artikel über TDD, und ich habe festgestellt, dass sie alle hauptsächlich die technische Komponente dieses Ansatzes betreffen und die mentalen Prinzipien, die TDD zugrunde liegen, praktisch nicht beschreiben.





Daher wollte ich keinen weiteren Artikel schreiben, der die Rot-Grün-Refaktor-Technik beschreibt. Ich wollte TDD etwas genauer betrachten und beschreiben, wie und warum TDD das menschliche Verhalten beeinflusst.





Der Artikel konzentriert sich auf einige Abstraktionen, die auf verschiedene Ebenen der Weltanschauung anwendbar sind und unabhängig vom Kontext dazu beitragen, ein gutes Ergebnis zu erzielen. Die Vielseitigkeit dieser Abstraktionen und die Tatsache, dass sie sogar für den Codierungsprozess gelten, haben mich zu einem leidenschaftlichen Verfechter sowohl des TDD-Ansatzes als auch dieser Abstraktionen gemacht.





Meine ersten Schritte in TDD

web- 12 . 10 php CMS- Joomla Bitrix. , . CMS 2 javascript (React).

, , , , , , . , -, , TDD , , , 2013 . , , , , .

, , , , . , TDD, Professional Scrum Developer scrum.org.





, (, ) , , , CMS.





- “Test Driven Development: By Example” Kent Beck. , TDD, , - , . , , “TDD —  , ”. , . …





50- , . , TDD, —  , … , , . , ,  —  , 2–5–15 . ,  — Example of TDD by H. Koehnemann, , acceptance test .





. , TDD , . , , TDD , TDD () .





:





(todo list)

-, TDD. /. . , , , .





, . . , - GettingThingsDone. GTD , , , , .





/ , ( ) , , , (“ ”, “ ”), . .





? , . .





. , .





Test-First Thinking

Test-first  —   —  . , , “ ?”. test-first , . “ ”, , Agile , YAGNI KISS . , “ , ?”.





 —  , . , , . , , , , — , ? , . , , , . , . , ( ).





, M S.M.A.R.T. .





,  — Test-First Thinking. . “ - ?”, “ , ?”, “ , ?”. , , . , , . , .













, ?

?





, . , , - , . , , .





. , .





? GTD, , , , . , , ,  — .





, TDD: , … … .





, - . , , .





, , - ,  —  . , , :





1. “ ” , . , , , ;





2. .





:





describe(‘ factorial’, () => {
  it(‘ 0    ’, () => {
  })
})
      
      



:





describe(‘factorial’, () => {
  it(‘  0’, () => {
    …
  })
})
      
      



GTD. . ( 3).





( ) . . , THIS IS WHY YOU SHOULDN’T INTERRUPT A PROGRAMMER The Cost of Interruption for Software Developers.





, , ,  —  ( ) (, , email-).





, , . . () , , , “ ” ( ) .





 —  (, , ). , , .





 

. ( ? — . ) .





, TDD,  —  .





coverage

, ,  … . . , . . , .





, , , . .





( () —  []). . , TDD, , , TDD , .





, TDD , . , , . , , TDD. , TDD , . PS- ( 2020) 2020.





TDD

, .





TDD , TDD :





  1. . , , . , , , TDD .

    , , -. , /, . , , , , / , , , .





  2. TDD. TDD. “-”. , , TDD ( , , ).





. . .

- , . -.





P.S. ()





In den Kommentaren bemerkte ich einen klassischen Holivar über die technischen / praktischen Vor- und Nachteile von TDD. Mein Lieblings-Holivar zu diesem Thema ist hier - https://habr.com/ru/company/jugru/blog/313514/ . Sehr empfehlenswert.

In dem Artikel ging es jedoch um mentale Tricks, um eine neue Perspektive auf diesen Ansatz zu teilen. Ich wollte in den Kommentaren darüber sprechen. Danke.












All Articles