prapeller / api_ugc

Спринт 9. Финальный спринт командного проекта по UGC
0 stars 0 forks source link

Code review #3

Open BigDeepBlue opened 11 months ago

BigDeepBlue commented 11 months ago

Не считая перечисленных ниже мелочей, работа отличная 🔥

  1. Конфигурацию ELK рекомендую слегка изменить. Вот тут вы все кладете в один индекс, но в приложении у вас уже множество сервисов (выдачи контента, авторизации, ugc, админка и т.д.). Из одного индекса вылавливать все это будет крайне сложно. Попробуйте разделить, например так:

        if ( [tag] == "nginx" ) {
            elasticsearch {
              hosts => [ "${ES_HOST}" ]
              index => "nginx-%{+YYYY.MM.dd}"
            }
        }
        else if ( [tag] == "auth_app" ) {
            elasticsearch {
              hosts => [ "${ES_HOST}" ]
              index => "auth_app-%{+YYYY.MM.dd}"
            }
        }
        else if ( [tag] == "fast_api_app" ) {
            elasticsearch {
              hosts => [ "${ES_HOST}" ]
              index => "fast_api_app-%{+YYYY.MM.dd}"
            }
        }

    И слегка докрутив логирование в самих сервисах добавив tag и logstash.LogstashHandler

  2. Не забывайте использовать flake8. Вот результат работы в api_ugc.

      ❯ flake8 api_ugc --max-line-length 120
      api_ugc/core/enums.py:14:1: E302 expected 2 blank lines, found 1
      api_ugc/core/logger_config.py:8:1: E302 expected 2 blank lines, found 1
      api_ugc/core/logger_config.py:25:18: W292 no newline at end of file
      api_ugc/api/v1/film_comments.py:5:121: E501 line too long (122 > 120 characters)
      api_ugc/services/mongo/mongo_repository.py:172:121: E501 line too long (123 > 120 characters)
  3. Любое API не сможет долго существовать и развиваться без покрытия тестами. Сейчас оно уже довольно функционально и тесты нужны. (хотя бы основная логика)

  4. В файле api_ugc/services/mongo/mongo_repository.py множество "детских" ошибок вот такого типа:

      if ...:
          return ....
      else:
          return ...

    https://pheanex.github.io/pylint/

prapeller commented 11 months ago

https://github.com/prapeller/ugc_sprint_2/commit/b0726a204e371620f1c6c1ab08cb507c798b1f56

BigDeepBlue commented 11 months ago

LGTM