morfizm (morfizm) wrote,
morfizm
morfizm

  • Mood:

Программерский дыбр

boto это Python-овская библиотека для AWS (Amazon Cloud).
В ней большинство вещей продублировано в двух стилях:
  item = db.get_item();
  item.save();

и
  item = db.get_item();
  db.save_item(item);


Ну и первый вариант это лишь иллюстрирующий пример принципа, там бывают огромные матрёшки: достаёшь сундук из дуба, зайца из сундука, утку из зайца, яйцо из утки, иглу из яйца, а там, глядишь, уже и смерть на конце иглы...
А можно сразу сказать: ec2.дай_мне_смерть_на_конце_иглы(дуб, сундук, заяц, утка, яйцо), и передать весь необходимый контекст в параметрах.

Мне такой вариант в разы больше нравится, потому что нужно всего один раз посмотреть исходник документацию API, чтобы понять, что там происходит. Первый вариант становится вообще невыносим, когда промежуточные объекты передаются куда-то в библиотеки из соседних пакетов, и там уже просто нет всего контекста, чтобы вызвать одним куском, или понять, из чего оно было собрано.

Интересно, кому вообще пришло в голову делать первым вариантом? Это какой-нибудь новый модный дизайн паттерн? OOP-intoxication? Зачем?!?
Tags: software development
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 14 comments