Comment TDD stimule le développement

Il y a beaucoup d'articles sur le TDD, et j'ai remarqué qu'ils concernent tous principalement la composante technique de cette approche, et ne décrivent pratiquement pas les principes mentaux sous-jacents au TDD.





Par conséquent, je ne voulais pas écrire un autre article décrivant la technique Red-Green-Refactor. Je voulais approfondir un peu le TDD et décrire comment et pourquoi le TDD affecte le comportement humain.





L'article se concentrera sur certaines abstractions qui sont applicables Ă  diffĂ©rentes couches de la vision du monde et, quel que soit le contexte, aident Ă  obtenir un bon rĂ©sultat. La polyvalence de ces abstractions, et le fait qu'elles s'appliquent mĂȘme au processus de codage, ont fait de moi un ardent dĂ©fenseur de l'approche TDD et de ces abstractions.





Mes premiers pas en 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. ()





Dans les commentaires, j'ai remarqué un holivar classique sur les avantages / inconvénients techniques / pratiques de TDD. Mon holivar préféré sur ce sujet est ici - https://habr.com/ru/company/jugru/blog/313514/ . Recommande fortement.

Mais l'article portait sur des astuces mentales pour partager une nouvelle perspective sur cette approche. Je voulais en parler dans les commentaires. Merci.












All Articles