Понадобилось добавить одну функцию в самодельной читалке RSS - выбор дополнительного режима просмотра и его интерпретация в рендеринге статей. Как ни странно, код на Перле удалось открыть и даже исправить за один присест. Но КАКОЙ это бардак - весь функционал лежит в одном гигантском файле, в котором чёрт ногу сломит. Коллбеки разбросаны по файлу безо всякой связи с управляемыми ими объектами. Да и текст самих подпрограмм порой размазан на три-четыре экрана. Удивительно, что всё это до сих пор работает (точнее - работает именно благодаря тому, что до сих пор не пришлось что-то там менять). В целом, удивительно и то, насколько за 5 лет я стал профессиональнее кодить (и это после 7 лет в Интеле, 7 в Марвеле, и между ними 4 года ещё в двух местах). Кстати, с мини-юбилеем меня, вот ведь время пролетело незаметно.
Руки так и тянутся перегнать текст на Пайтон или вкрайняк на PHP. Проблема переписывания в том, что под Пайтон наверняка труднее найти хостинг (если вообще таковой имеется), а ведь моя конечная цель - сервис по аггрегации RSS, доступный он-лайн, а не локально или по домашней сети. А PHP, хоть и поддерживается всякими хостингами, выглядит как ещё один клон Перла, со всеми его странностями и нечитаемым синтаксисом. Короче, ясно, что так жить нельзя. А как можно?
Наверное, решение состоит в пересмотре архитектуры - больше библиотечных решений как на стороне клиента, так и на стороне сервера. Для начала попробую сваять прототип back-end на Python Flask, а к нему прикручу "смотрелку" сплошь основанную на Angular, чтоб минимально чикаться с графической частью. К тому же back-end можно и мобильную "морду" прикрутить, чтоб под маленький экранчик и всё такое. Заодно совместимость с браузерами появится, а то были уже неописуемые ситуации, когда в публичном доступе имелся только комп с мсявным "осликом Иа". Ну а если прототип покажет себя удачно, то перепишу его один-в-один на PHP.
Руки так и тянутся перегнать текст на Пайтон или вкрайняк на PHP. Проблема переписывания в том, что под Пайтон наверняка труднее найти хостинг (если вообще таковой имеется), а ведь моя конечная цель - сервис по аггрегации RSS, доступный он-лайн, а не локально или по домашней сети. А PHP, хоть и поддерживается всякими хостингами, выглядит как ещё один клон Перла, со всеми его странностями и нечитаемым синтаксисом. Короче, ясно, что так жить нельзя. А как можно?
Наверное, решение состоит в пересмотре архитектуры - больше библиотечных решений как на стороне клиента, так и на стороне сервера. Для начала попробую сваять прототип back-end на Python Flask, а к нему прикручу "смотрелку" сплошь основанную на Angular, чтоб минимально чикаться с графической частью. К тому же back-end можно и мобильную "морду" прикрутить, чтоб под маленький экранчик и всё такое. Заодно совместимость с браузерами появится, а то были уже неописуемые ситуации, когда в публичном доступе имелся только комп с мсявным "осликом Иа". Ну а если прототип покажет себя удачно, то перепишу его один-в-один на PHP.
Tags:
(no subject)
Date: 2020-03-04 12:45 pm (UTC)Это мнимое ощущение. Заставь тебя запилить эту шнягу с нуля (при условии, что она для тебя совсем незнакома), ты опять сделаешь примерно так же. Просто ты за 5 лет переварил ее, заново продумал, перепроектировал в уме, вот тебя и потянуло на рефакторинг.
(no subject)
Date: 2020-03-04 07:03 pm (UTC)Сказать мне сейчас, что мой код нельзя протестировать - я сквозь землю провалюсь. А как витиевато я строил HTML-вставки в бек-энде - тихий ужас. И самое главное - ЗАЧЕМ? Для этого существуют всякие красивые трюки со стороны браузера. Сервер должен общаться с клиентом только пересылкой данных и шаблонов страниц, никакой генерации HTML. Ну и про технологии аутентификации я тоже имел весьма смутное представление, а теперь могу жизнеспособный онлайн-сервис сваять.