TDDが開発を推進する方法

TDDに関する記事はたくさんありますが、それらはすべて主にこのアプローチの技術的要素に関係しており、実際にはTDDの根底にある精神的原則をまったく説明していないことに気付きました。





したがって、Red-Green-Refactorテクニックについて説明する別の記事を書きたくありませんでした。TDDをもう少し詳しく見て、TDDが人間の行動にどのようにそしてなぜ影響するのかを説明したいと思いました。





この記事では、世界観のさまざまなレイヤーに適用できるいくつかの抽象化に焦点を当て、コンテキストに関係なく、良い結果を達成するのに役立ちます。これらの抽象化の多様性、およびそれらがコーディングプロセスにも適用されるという事実により、私はTDDアプローチとこれらの抽象化の両方を熱心に支持しました。





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. ()





コメントの中で、TDDの技術的/実用的な長所/短所に関する古典的なホリバーに気づきました。このトピックに関する私のお気に入りholivarはここにある- https://habr.com/ru/company/jugru/blog/313514/強くお勧めします。

しかし、この記事は、このアプローチに関する新しい視点を共有するための精神的なトリックに関するものでした。コメントでそれらについて話したかった。ありがとう。












All Articles