Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Виталий Большаков. Что такое говнокод?

Виталий Большаков. Что такое говнокод?

Deep Refactoring

September 28, 2016
Tweet

More Decks by Deep Refactoring

Other Decks in Programming

Transcript

  1. Что такое ГОВНОКОД?

    View Slide

  2. Индусский код
    Индусская отладка

    View Slide

  3. Китайский код

    View Slide

  4. Голландский код

    View Slide

  5. Русский код

    View Slide

  6. Эмо-код

    View Slide

  7. Антипаттерны
    Антипаттерн - распространенный подход к решению класса часто
    встречающихся проблем, являющийся неэффективным, рискованным или
    непродуктивным.

    View Slide

  8. Антипаттерны
    антипаттерны разработки
    антипаттерны архитектуры
    организационные антипаттерны

    View Slide

  9. Спагетти-код
    GOTO
    GOTO
    GOTO
    GOTO
    GOTO
    GOTO
    GOTO
    GOTO
    Лазанья Равиоли

    View Slide

  10. Копипаста
    Антипаттерн - распространенный подход к решению класса часто
    встречающихся проблем, являющийся неэффективным, рискованным или
    непродуктивным.

    View Slide

  11. Космос
    overengineering
    ● абстракции сложнее понимать
    ● абстракции требуют затрат на
    настройку

    View Slide

  12. Команда

    View Slide

  13. Хороший код

    View Slide

  14. Хороший код
    работает
    легко понять
    легко изменить

    View Slide

  15. Стиль кода
    единый подход

    View Slide

  16. Стиль кода
    единый подход

    View Slide

  17. Когда хороший код превращается в говнокод?
    когда можно написать проще и быстрее

    View Slide

  18. Чем плох говнокод?
    дольше разбираться
    сложнее отлаживать
    дольше вносить правки

    View Slide

  19. Как бороться?
    своевременный рефакторинг
    code review

    View Slide

  20. Наступай!
    Не стоит бояться сделать ошибку.
    Стоит бояться ошибки повторять.

    View Slide

  21. Бесполезные ресурсы
    http://govnokod.ru/

    View Slide

  22. Всем спасибо!
    Большаков Виталий
    [email protected]

    View Slide