Cómo TDD impulsa el desarrollo

Hay muchos artículos sobre TDD, y me di cuenta de que todos se refieren principalmente al componente técnico de este enfoque y prácticamente no describen los principios mentales subyacentes a TDD de ninguna manera.





Por lo tanto, no quería escribir otro artículo describiendo la técnica Red-Green-Refactor. Quería profundizar un poco más en TDD y describir cómo y por qué TDD afecta el comportamiento humano.





El artículo se centrará en algunas abstracciones que son aplicables en diferentes capas de la cosmovisión y, independientemente del contexto, ayudan a lograr un buen resultado. La versatilidad de estas abstracciones, y el hecho de que incluso se aplican al proceso de codificación, me convirtió en un ferviente defensor tanto del enfoque TDD como de estas abstracciones.





Mis primeros pasos 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. ()





En los comentarios, noté un holívar clásico sobre los pros / contras técnicos / prácticos de TDD. Mi holivar favorito sobre este tema está aquí: https://habr.com/ru/company/jugru/blog/313514/ . Altamente recomendado.

Pero el artículo trataba sobre trucos mentales para compartir una nueva perspectiva sobre este enfoque. Quería hablar de ellos en los comentarios. Gracias.












All Articles