Best practices là gì

  -  

Chào hầu hết người! Trong nội dung bài viết này tôi xin trình bày những “Best Practices” nên biết khi cải cách và phát triển TDD.

Bạn đang xem: Best practices là gì

Bạn sẽ xem: Best practice là gì

“Best Practice” là tập hợp hầu hết kỹ thuật và phương pháp làm nhưng đã được nghiên cứu, minh chứng trong thực tế, khi áp dụng nó sẽ làm cho thành phầm của chúng ta tốt hơn, kị được không hề ít các vụ việc mà tín đồ khác đã chạm mặt phải.

“Best Practice” đến TDD đã tập hợp các quy tắc mà họ nên vận dụng khi viết TDD. Rõ ràng ở đây là tôi reviews việc viết TDD trong Java với Scala, nhưng thực chất chúng có thể áp dụng trong phần đông các ngôn ngữ. Tôi đã trình bè cánh các nguyên tắc theo số đồ vật tự để mọi tín đồ dễ nhớ.

Các quy tắc cần sử dụng trong trở nên tân tiến TDD

1. Tách biệt giữa phần test và code

Ưu điểm: Giúp thống trị code thuận lợi hơn, bóc tách biệt thân phần code với test


*

Chúng ta cần phải có ít độc nhất vô nhị 2 folder một mang lại code cùng một mang lại test. Lấy ví dụ trong scala + play2 có thể đặt code trong project/app, chạy thử trong project/test. Ngoài câu hỏi giúp quản lý code tiện lợi hơn, đây còn là một yêu cầu của đa số công cụ quản lý source code

2. Thương hiệu package như là nhau giữa test code & source code

Ưu điểm: giúp tìm kiểm tra code dễ dãi hơn

Khi thử nghiệm code được tổ chức hệt như source code để giúp tìm kiểm tra code dễ dãi hơn cùng ngược lại. Điều này khôn cùng có ý nghĩa trong những dự án bự với hàng trăm file code & test code.

3. Đặt thương hiệu class test dựa vào file code

Ưu điểm: tìm file thử nghiệm code dễ hơn, nhất là khi bắt buộc tim file demo cho một file code cụ thể.

Xem thêm: Saag Là Gì - Dịch Màng Bụng


*

Trong các dự án lớn, số lượng các tệp tin code khôn xiết lớn. Khi ấy nếu các file thử nghiệm không chọn cái tên theo một quy tắc nào đó sẽ khá khó search file thử nghiệm code. Để xử lý vấn đề này thì một quy tắc hay sử dụng là, viết tên class test bao hàm tên class đề xuất test cùng hậu tố “Test” hoặc “Spec” sinh sống cuối. Ví dụ như ta tất cả class rất cần được viết kiểm tra là ApplicationController.scala, class test sẽ là ApplicationControllerTest.scala hoặc ApplicationControllerSpec.Scala

4. Đặt tên thủ tục test mô tả khá đầy đủ ý nghĩa

Ưu điểm: Giúp đọc đầy đủ ý nghĩa sâu sắc của thủ tục test cơ mà không buộc phải xem comment

Có hết sức nhiều phương pháp để đặt tên chạy thử method. Mà lại cách rất được yêu thích là để tên cần sử dụng Given/When/Then trong có mang của BDD. Given – đưa ra điều kiện, When – diễn tả hành động, Then – tế bào tả hiệu quả mong đợi. Nếu một số trong những test không có điều khiếu nại trước, thì Given có thể bỏ qua

Bên dưới là một ví dụ của để tên:

Test public final void whenSemicolonDelimiterIsSpecifiedThenItIsUsedToSeparateNumbers() …

5. Viết test trước khi viết code

Ưu điểm: Đảm bảo rằng test code luôn được viết

Bằng cách viết hoặc sửa đổi test code trước lúc viết, người trở nên tân tiến sẽ tập trung hơn vào yêu mong trước khi ban đầu code. Điều này là điểm biệt lập lớn độc nhất so với bài toán viết test sau thời điểm viết code. Không dừng lại ở đó việc viết chạy thử trước giúp họ tăng chất lượng của kiểm tra code, tránh vấn đề viết test một biện pháp qua loa.

6. Chạy toàn bộ các test mỗi lần biến đổi code

Ưu điểm: Đảm nói rằng không tất cả lỗi xẩy ra khi do biến đổi code


*

Mỗi lần nuốm đổi bất kỳ phần nào trong code, dù lớn hay nhỏ, ta cũng cần chạy lại toàn bộ các test. Một phương pháp lý tưởng thì những test có thể chạy nhanh ngay trên sản phẩm công nghệ của người cải cách và phát triển để họ không hẳn đợi quá lâu. Mọi khi code được gửi lên git hoặc svn, đề nghị chạy những test lại để bảo đảm an toàn rằng không tồn tại vấn đề gây nên do merge code. Điều này quan trọng đặc biệt quan trọng khi có khá nhiều người cùng tham gia phát triển code. Rất có thể setup các bước này một cách auto dùng các ứng dụng như Jenkins, Hudson để thiết đặt trên client

7. đánh giá code(Refactor) chỉ với sau khi tất cả test vẫn thành công

Ưu điểm: quá trình kiểm tra code đang an toàn, không bị kiểm tra các phần code bị lỗi

Nếu toàn bộ test chạy thành công xuất sắc thì nó tương đối bình an để đánh giá code. Sau thời điểm refactor code thì không cần thiết phải viết thêm demo mới, nhưng sẽ buộc phải sửa đổi test code cho những phần đã ráng đổi. Điều kiện hài lòng là, sau khoản thời gian refactor thì tất cả các thử nghiệm chạy phần nhiều thành công

8. Tinh giảm sự phụ thuộc vào giữa những test

Ưu điểm: Test có thể chạy chủ quyền mà không phụ thuộc vào vào những test khác

Mỗi demo nên độc lập từ những test khác. Người cải tiến và phát triển nên có thể thực thi bất kỳ phương thức demo nào đó, hoặc một tập các test độc lập. Nếu bao gồm sự phụ thuộc vào từ các test thì bọn chúng dễ bị ảnh hưởng khi viết những test mới.

9. Các test buộc phải chạy nhanh

Ưu điểm: những test được dùng thường xuyên, đề xuất test chạy cấp tốc sẽ tùng tiệm thời gian

Nếu test chạy mất nhiều thời gian, người cải cách và phát triển sẽ dễ dàng dừng bọn chúng hoặc chỉ chạy một tập nhỏ của các test liên quan tới phần bọn họ sắp ráng đổi. Cụ thể điều này là không giỏi vì không thể đảm bảo tất cả các test sẽ thành công khi viết test mới hoặc code mới. ích lợi từ chạy nhanh là bên cạnh việc hà tằn hà tiện thời gian, nó còn khiến cho phát hiện các vấn đề mau chóng và hoàn toàn có thể giải quyết vấn đề sớm.

Xem thêm: ‍♂️✍️ Stratis Coin Là Gì ?! Toàn Tập Về Tiền Điện Tử Strat

10. Sử dụng các đối tượng dữ liệu mang (mocks)

Ưu điểm: bớt sự nhờ vào vào code, chạy thử chạy nhanh hơn

Mock là điều kiện quan trọng để làm cho các test nhanh hơn bời vị phương thức demo không cần liên kết và đợi lấy dữ liệu từ các đối tượng người dùng bên ngoài, tất cả dữ liệu quan trọng đã được cung cấp trong đối tượng mock. Nó cũng giúp người cải tiến và phát triển tập trung rộng vào phần test mà họ đang viết ko cần để ý đến các đối tượng hỗ trợ dữ liệu. Có khá nhiều công cụ cung ứng tạo ra những đội trượng mock khi viết unit test, lấy một ví dụ như: mockito, …

11. Dùng thiết lập và tear-down phương thức

Ưu điểm: mang lại phép thiết đặt dữ liệu trước lúc chạy chạy thử và reset dữ liệu sau khoản thời gian test chạy xong

12. Giảm bớt dùng base class

Ưu điểm: khiến cho class thử nghiệm rõ ràng

Class demo cần cụ thể và mạch lạc, dó đó bọn họ nên giảm bớt dùng base class lúc viết unit test.

13. Dùng các công cố để hỗ trợ test

Ưu điểm: Đo các thông số liên quan cho test, thực hiện test một cách tự động

Code Coverage: Là chế độ đo phần trăm code được thử nghiệm trong dự án. Hoàn toàn có thể dùng một trong các tool như SonarQuebe, Clover. Những công núm này cung ứng hầu hết những ngôn ngữ

CI – Continuous integration (CI): Tool để tiến hành các thao tác tự động theo một kế hoạch lập trường đoản cú trước đó. Có thể dùng những công cầm như: Jenkins, Hudson