Bagaimana TDD mendorong pengembangan

Ada banyak artikel tentang TDD, dan saya perhatikan bahwa semuanya terutama berkaitan dengan komponen teknis dari pendekatan ini, dan secara praktis tidak menggambarkan prinsip mental yang mendasari TDD dengan cara apa pun.





Oleh karena itu, saya tidak ingin menulis artikel lain yang menjelaskan tentang teknik Red-Green-Refactor. Saya ingin melihat lebih dalam tentang TDD dan menjelaskan bagaimana dan mengapa TDD memengaruhi perilaku manusia.





Artikel ini akan berfokus pada beberapa abstraksi yang dapat diterapkan pada berbagai lapisan pandangan dunia dan, terlepas dari konteksnya, membantu mencapai hasil yang baik. Keserbagunaan abstraksi ini, dan fakta bahwa abstraksi ini bahkan berlaku untuk proses pengkodean, membuat saya sangat mendukung pendekatan TDD dan abstraksi ini.





Langkah pertama saya di 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. ()





Di komentar, saya melihat holivar klasik tentang pro / kontra teknis / praktis dari TDD. Holivar favorit saya tentang topik ini ada di sini - https://habr.com/ru/company/jugru/blog/313514/ . Sangat disarankan.

Tapi artikel itu tentang trik mental untuk berbagi perspektif baru tentang pendekatan ini. Saya ingin membicarakannya di komentar. Terima kasih.












All Articles