Слайд 2
![1. Synchronization?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-1.jpg)
Слайд 3
![2. doGet is not the same to doPost](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-2.jpg)
2. doGet is not the same to doPost
Слайд 4
![3. Tightly coupled code](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-3.jpg)
Слайд 5
![4. Lookup by ordinal is unsafe](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-4.jpg)
4. Lookup by ordinal is unsafe
Слайд 6
![5. Follow single responsibility principle](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-5.jpg)
5. Follow single responsibility principle
Слайд 7
![5. Follow single responsibility principle](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-6.jpg)
5. Follow single responsibility principle
Слайд 8
![6. Handle errors correctly](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-7.jpg)
6. Handle errors correctly
Слайд 9
![7. Use correct dependency scope](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-8.jpg)
7. Use correct dependency scope
Слайд 10
![8. Filtering should block request](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-9.jpg)
8. Filtering should block request
Слайд 11
![8. Test your code](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-10.jpg)
Слайд 12
![9. Continuous integration should not fail](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-11.jpg)
9. Continuous integration should not fail
Слайд 13
![10. Useless code](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-12.jpg)
Слайд 14
![11. Prefer polymorphic solutions](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-13.jpg)
11. Prefer polymorphic solutions
Слайд 15
![12. Where is request execution info?](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-14.jpg)
12. Where is request execution info?
Слайд 16
![13. Use correct http methods](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-15.jpg)
13. Use correct http methods
Слайд 17
![14. Modification of input arguments is bad](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/281989/slide-16.jpg)
14. Modification of input arguments is bad