Три ключевых принципа хорошего кода DRY, KISS, YAGNI

Sdílet
Vložit
  • čas přidán 27. 07. 2019
  • Разработка веб-приложения на PHP. Посмотрите уроки: webformyself.com/minikurs/php...
    Исходники к уроку тут: webformyself.com/tri-klyuchev...
    Данный урок - это логическое продолжение, ранее вышедшего, цикла видео по принципам SOLID, соблюдение которых дает возможность правильно спроектировать архитектуру создаваемого проекта. Принципы, которые будут рассмотрены сегодня, по сути, не накладывают каких либо определений на общую структуру и взаимодействие между классами - их цель это правильная организация всего кода проекта.
    Хотел бы отметить, что, не говоря о каком-либо конкретном проекте, сложно сказать, как именно необходимо организовать код, что бы он был «хорошим», так как все зависит от поставленных задач. Но, соблюдение трех ключевых принципов DRY, KISS YAGNI - это довольно большой и уверенный шаг в сторону хорошего кода.
    DRY - Don’t repeat yourself - принцип призывает Вас не повторяться при написании кода. Все что Вы пишите в проекте, должно быть определено только один раз.
    KISS - keep it short simple - делайте вещи проще. Порой наиболее правильное решение - это наиболее простая реализация задачи, в которой нет ничего лишнего.
    YAGNI - You ain’t gonna need it - вам это не понадобится. Все что не предусмотрено техническим заданием проекта, не должно быть в нем.

Komentáře • 28

  • @VladilenMinin
    @VladilenMinin Před 4 lety +10

    Виктор, очень полезный контент! Начинающим обязательно следует ознакомиться)

  • @socialreklamaru
    @socialreklamaru Před 4 lety +23

    Если в case присутствует return, то break не нужен

    • @purel2449
      @purel2449 Před 4 lety +1

      switch obrabativayet konkretniy vxodashiye daniy ti doljen v konse obyavit retun kajdiy raz posle case obyavlat return et kakbi ne to

  • @abumuhammad005
    @abumuhammad005 Před 2 lety

    Теперь меня эти слова не пугают). Спасибо

  • @user-fj8xu3fm4c
    @user-fj8xu3fm4c Před 9 měsíci

    Благодарю за твои видео.

  • @user-bf5sb1fs1w
    @user-bf5sb1fs1w Před 2 lety

    Thank you SO MUCH!!!

  • @user-iq2ic3mh9z
    @user-iq2ic3mh9z Před 4 lety

    Все понятно и доступно, спасибо 👍

  • @steazeYT
    @steazeYT Před 4 lety +1

    Просто и понятно, спасибо.

  • @LavSExpert
    @LavSExpert Před 4 lety +4

    Как найти баланс между архитектурами(MVC, MVP, MVVM, MVI, VIPER) и этими принципами?

    • @user-of4dc3rh5c
      @user-of4dc3rh5c Před 4 lety +4

      Здравствуйте!
      Ответ довольно простой, проектируя архитектуру, необходимо соблюдать принципы, оговоренные в уроке. При этом конечно же некторые из них могу не в полной мере соблюдаться. Это приходит с опытом.

  • @an.laskevych
    @an.laskevych Před 4 lety

    Спасибо! Пожалуйста в следующих видео сделайте шрифт побольше. С телефона смотреть неудобно :(

    • @LavSExpert
      @LavSExpert Před 4 lety +1

      Поверни телефон, чтобы видео было на весь экран и все будет хорошо видно;) Я именно так смотрю с телефона:)

    • @user-sq3nn5wq3z
      @user-sq3nn5wq3z Před 4 lety

      @@LavSExpert наверное еще с iphone 5

  • @sancho-paska
    @sancho-paska Před 4 lety

    У меня была. кстати, такая ситуация, когда попросили на собеседовании показать код и сразу спросили: "Как его можно упростить?"

    • @wickedtorpedo75
      @wickedtorpedo75 Před rokem +1

      и что было дальше? как прошло собес? Прошло 3 года ты в программировании вообще или забросил))

    • @sancho-paska
      @sancho-paska Před rokem

      @@wickedtorpedo75 , я тогда, можно сказать, что наполовину прошел собес. Я периодически забрасывал программирование. Но возвращался - знакомые подкидают задачи и отдельные проекты, так что пытаюсь себя держать в форме :))

  • @anton.k.
    @anton.k. Před 4 lety +1

    нужен ли break если до этого стоит return? хотя и return в теле switch не очень решение. лучше завести переменную и вернуть ее после switch (присвоив во switch ей значение) вроде более красивое решение. (не беря во внимание второй вариант)

    • @alexandr_sirota
      @alexandr_sirota Před 4 lety

      return ето выход из функции ниже него код не работает, после breack код работает дальше

    • @socialreklamaru
      @socialreklamaru Před 4 lety

      А данном случае break не нужен

  • @youtuberelaxvideo
    @youtuberelaxvideo Před 4 lety

    Всем привет

  • @kalobyte
    @kalobyte Před 4 lety +8

    слишком много зумных букв, смысл которых и так очевиден
    а я думал, что за буквами скрывается что-то более сложное и которое надо знать
    смысл букв
    не копипасти
    пиши проще
    не делай того, что не просили (свистелки и перделки)

  • @rubinroterstern
    @rubinroterstern Před 4 lety

    Ещё одну проблему часто наблюдаю: народ в маленький проект подтягивает тяжёлый класс или несколько классов и использует из него 1-2 функции максимум, ибо лениво эти функции писать самому или выдергивать из класса.
    В итоге получаем совсем маленькую софтинку, которая за собой тащит дикое количество библиотек и зависимостей.
    Не надо так делать.

  • @hallowf
    @hallowf Před 3 lety

    Самое сложное тут это DRY. Трудность проявляется когда проект написан и есть куча повторений, если извлечь одну часть в отдельный класс, то 70% скажут спасибо все идеально, а остальные 30% будут говорить: ты идиот?

  • @cpaprince
    @cpaprince Před rokem +1

    вообще свитч это плохо и точно не кисс😂, можно просто массив сделать и выводить его по входящему нлмеру

  • @kandreyk9159
    @kandreyk9159 Před 4 lety

    Зачем плохому учишь? Если нужно сделать "что-то", то нужно создать класс, который будет отвечать за это "что-то" и только за него. Прости дружище, дальше 2+2 смотреть не стал...

    • @user-of4dc3rh5c
      @user-of4dc3rh5c Před 4 lety +3

      Так в видео ведь ничего и не делалось. был по сути всего лишь один готовый пример, и то он поместился в одну функцию. Урок не о классах и не о том как что т осделать, урок о принципах хорошего кода.