Вы, наверное, ждете какую-нибудь забавную историю о том, что кто-то напортачил. Потом, как другой парень решил проблему, и они посмеялись над этим, попивая пиво.

Это не такие истории. У него не будет счастливого конца, по крайней мере, в ближайшем будущем. Эта история показывает, как простой код становится настолько сложным, что становится нелепым.

В качестве сегодняшних примеров мы рассмотрим код Google и PayPal API. Вы, наверное, думаете: это успешные компании с большим количеством ресурсов и талантливыми разработчиками. Как их код может быть плохим?

Google (Youtube)

В этом примере ваша задача - загрузить видео на Youtube с PHP. Пример этого от Google:

Что? Более 100 строк кода для загрузки видео? Не верите мне? "Убедитесь сами". Можем ли мы его улучшить?

Трудно было сделать это простым? Или хотя бы иметь простой интерфейс для 95% случаев использования? Мы никогда не узнаем ...

Хорошо, это всего лишь один пример. Не будем делать поспешных выводов и взглянем на PayPal. Они обращаются с деньгами. Они должны знать, что делают, верно?

PayPal

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

Вроде неплохо, и код намного короче. Вероятно, они знают, что делают. Бзззз, неправильно!

Это пример из настоящей библиотеки, что упрощает зарядку кредитных карт.

Так почему же они все усложняют, чем должны быть? Это садистский способ помучить разработчиков? Почему все не может быть простым? Вам нравится работать с такими хитростями?

Вывод

Так поступают не только крупные компании. Многие API выглядят так. Как вы думаете, почему это происходит?