Monee

Monee

Daniil Lashin

Когда я первый раз читал контр-обзор кода Monee от @borodutch мне показалось, что автор чем-то очень сильно обижен. Может так, а может просто его подвел непрофессиональный однобокий взгляд. Как бы то ни было - перейдем к обзору.

TLTR

Автор "контр-обзора" даже не разбирается в стеке. Настолько, что не смог запустить элементарное Laravel приложение.

Весь "ужас" сводится к отсутствию комментариев в коде, Readme и другим подобным вещам.

Нет ни одного комментария по безопасности кода.

Но если у автора будут конкретные предложения, а не бурлящее желание как можно сильнее обосрать проект - милости просим делать пулл реквесты.

"Ну-ну, PHP в 2017 году."

Я не буду спрашивать автора почему он не в курсе прогресса языка за последние несколько лет.

Я не буду спрашивать почему он не в курсе, что на связке PHP+Laravel можно запустить любой продукт в несколько раз быстрее, чем на любом другом языке.

Я не буду спрашивать почему он не в курсе, что контрибьютеров на эту связку найти гораздо проще, чем на любую другую.

Я лишь скажу одно: пора вылезти из своей уютной норки и глянуть на мир. Там произошло много всего интересного.

Однако, я был бы рад конструктивным комментариям. А именно - что можно было бы сделать проще, безопаснее и главное - удобнее для пользователей на другом языке программирования.

Beautifier'ы

Я даже не буду брать денег за урок, но приложу ссылку на стандарты кода:

http://www.php-fig.org/psr/

Код был неоднократно реформатирован средствами IDE. Где там автор нашел неформатированный код - 🤷‍♂️

Общий contribution и ветки git

Главная цель того, что мы выложили код - поиск уязвимостей сообществом. Мы никак не сможем доказать, что на серверах крутится именно этот код, но нам это и не нужно. Для особых параноиков мы сделали вторую версию бота: @Monee_bot.

Проект разрабатывался на закрытом репозитории в Bitbucket. Он несколько раз полностью менял свой функционал. После подготовки мы мигрировали репозиторий без истории коммитов, чтобы не портить общий вид проекта.

Файлы идентификации репозитория и Readme

???

Такое чувство, что мы выложили какой-то пакет для массового использования. Мы выложили код, чтобы сообщество смогло проверить его на уязвимость. И судя по идиотским комментариям вроде "А у вас тут комментария для метода нет!!1" – проверка идет успешно :)

Singleton и Gitignore

Если бы автор разбирался в теме он бы заметил, что эти строчки, как и все .gitignore в проекте – стандартная часть самого популярного фреймворка (на минуточку – более 33 тысяч звезд на github). Если автор хочет поспорить (и проиграть в споре) по поводу их необходимости - милости просим обращаться к главному разработчику: https://twitter.com/taylorotwell.

А до того как это делать советую освежить в памяти принципы работы PHP.

Модели данных

Судя по тому, что из моделей данных в репозитории только User — разработчик не умеет в хранение и передачу информации.

Я бы посмотрел и посмеялся, как автор разнес бы данные о пользователе: а именно его id в Telegram, имени и адреса Ethereum в разные модели. Мы делали максимально простой кошелек, а не долгострой.

Общая целостность кода

То, что код сейчас ни в каком виде запустить не получится, и то, что большинство файлов проекта пустые или содержат 1-2 функции

Мы планировали, что код будут смотреть те, кто хоть немного разбирается в стеке. Но спасибо за обзор.



Report Page