CodeFest 2019. Алексей Катаев (Skyeng) — Рефакторинг: договариваемся, планируем, внедряем!

16b6c87229eaf58768d25ed7b2bbbf52?s=47 CodeFest
April 03, 2019

CodeFest 2019. Алексей Катаев (Skyeng) — Рефакторинг: договариваемся, планируем, внедряем!

Расскажу о том, как не допустить легаси в вашем новом проекте. Ха-ха, шутка! У вас ведь уже полно легаси и все нужно переписать с нуля? Я сам находился в этой ситуации много раз.

Поделюсь опытом, как перестать беспокоиться и начать рефакторить: договориться с менеджером, найти время, спланировать и подступиться наконец к вашему «как-то работает, лучше не трогать».

16b6c87229eaf58768d25ed7b2bbbf52?s=128

CodeFest

April 03, 2019
Tweet

Transcript

  1. None
  2. Перепишем с нуля?

  3. Перепишем с нуля?

  4. Рефакторинг: договариваемся, планируем, внедряем! Алексей Катаев 4

  5. 5

  6. None
  7. None
  8. None
  9. • Всего 25 минут 9

  10. • Всего 25 минут • Никакого интерактива 10

  11. • Всего 25 минут • Никакого интерактива • Бонусы 11

  12. 12

  13. ▢ Что делать с Глебом 13

  14. ▢ Что делать с Глебом ▢ Как выстроить процесс рефакторинга

    14
  15. ▢ Что делать с Глебом ▢ Как выстроить процесс рефакторинга

    ▢ Как писать безупречный код 15
  16. 16

  17. 17

  18. 18

  19. 19

  20. 20

  21. • Скорость разработки 21

  22. • Скорость разработки • Стабильность 22

  23. • Скорость разработки • Стабильность • Найм 23

  24. Гэвин Кеннеди «Договориться можно обо всем!»

  25. • 20% → 15% 25

  26. • 20% → 15% • Изолированные костыли 26

  27. None
  28. ☑ Что делать с Глебом 28

  29. • Договариваться, а не жаловаться

  30. • Договариваться, а не жаловаться • Найти общий язык

  31. • Договариваться, а не жаловаться • Найти общий язык •

    Конкретное предложение
  32. 32

  33. А что с критичными багами? 33

  34. ☑ Что делать с Глебом ▢ Как выстроить процесс рефакторинга

    34
  35. • Один раз в квартал 35

  36. ✖ Один раз в квартал • Включать в оценку 36

  37. Сэм Харрис «Ложь»

  38. ✖ Один раз в квартал ✖ Включать в оценку •

    Параллельно 38
  39. 39

  40. 40

  41. 41

  42. 42

  43. ✖ Один раз в квартал ✖ Включать в оценку ☑

    Параллельно 43
  44. 44

  45. 45 Перепишем с нуля?

  46. 2.14 … 2.15 Мы не переписываем проекты с нуля 2.16

    ...
  47. 47

  48. 48

  49. 49

  50. 50 Приём денег с лендингов Валидация через Symfony Validation Перейти

    на расчет зарплат в Redash
  51. ☑ Проблема 51

  52. ☑ Проблема ☑ Профит 52

  53. ☑ Проблема ☑ Профит ☑ Возможное решение 53

  54. None
  55. None
  56. None
  57. 57

  58. ☑ Что делать с Глебом ☑ Как выстроить процесс рефакторинга

    58
  59. • Рефакторить параллельно с разработкой

  60. • Рефакторить параллельно с разработкой • Определить и формализовать проблемы

  61. • Рефакторить параллельно с разработкой • Определить и формализовать проблемы

    • Приоритизировать
  62. 62

  63. 63

  64. ☑ Что делать с Глебом ☑ Как выстроить процесс рефакторинга

    ▢ Как писать безупречный код 64
  65. ✖ Основы и технологии 65

  66. 66

  67. 67

  68. Пицца-клуб 68

  69. 69

  70. Пицца-клуб Education day 70

  71. ☑ Основы и технологии ✖ Знание проекта 71

  72. None
  73. 73

  74. 74 ☑ Крутые решения ☑ Точная оценка ☑ Причастность

  75. 75

  76. ☑ Основы и технологии ☑ Знание проекта ✖ Соглашения 76

  77. 2.1 Мы думаем о последствиях 2.3 Целостность данных 2.4 Простые

    решения лучше сложных ...
  78. ☑ Основы и технологии ☑ Знание проекта ☑ Соглашения 78

  79. ☑ Что делать с Глебом ☑ Как выстроить процесс рефакторинга

    ☑ Как писать безупречный код 79
  80. None
  81. • Договариваться • Формализовывать проблемы • Приоритизировать • Фиксировать решения

    и принципы
  82. 82

  83. 83

  84. 84

  85. 85

  86. BONUS 1. Техническое ревью 2. Принципы 3. Чеклист code-review

  87. ax8080 Алексей Катаев ax8080

  88. ax8080 Алексей Катаев ax8080